A data constructor should have a type context that holds type variables bound to actual types