bad_instance2.m:012: In instance declaration for `foo(bar(T), U)': bad_instance2.m:012: the second instance type `U' is a type variable; it bad_instance2.m:012: should be a type constructor applied to zero or more bad_instance2.m:012: type variables. bad_instance2.m:016: In instance declaration for `foo(bar(T), T)': bad_instance2.m:016: the second instance type `T' is a type variable; it bad_instance2.m:016: should be a type constructor applied to zero or more bad_instance2.m:016: type variables. For more information, recompile with `-E'.