model-0.5: Derive a model of a data type using Generics