Safe model polymorphism for flexible modeling. (September 2017)