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

Instances of Model for common types (Bool,Maybe,Either).