invalid_instance_declarations.m:017: In instance declaration for `tc(((func) = invalid_instance_declarations.m:017: T), int)': invalid_instance_declarations.m:017: error: the first instance type invalid_instance_declarations.m:017: `((func) = T)' is a higher order type; invalid_instance_declarations.m:017: it should be a type constructor applied invalid_instance_declarations.m:017: to zero or more type variables. invalid_instance_declarations.m:018: In instance declaration for `tc(t(int), invalid_instance_declarations.m:018: int)': invalid_instance_declarations.m:018: error: in the first instance type, one invalid_instance_declarations.m:018: of the arguments of the type constructor invalid_instance_declarations.m:018: `t'/1 is not a type variable, but should invalid_instance_declarations.m:018: be. This is the first argument, `int'. invalid_instance_declarations.m:019: In instance declaration for `tc(t(int), invalid_instance_declarations.m:019: t(int, string))': invalid_instance_declarations.m:019: error: in the first instance type, one invalid_instance_declarations.m:019: of the arguments of the type constructor invalid_instance_declarations.m:019: `t'/1 is not a type variable, but should invalid_instance_declarations.m:019: be. This is the first argument, `int'. invalid_instance_declarations.m:019: In instance declaration for `tc(t(int), invalid_instance_declarations.m:019: t(int, string))': invalid_instance_declarations.m:019: error: in the second instance type, some invalid_instance_declarations.m:019: of the arguments of the type constructor invalid_instance_declarations.m:019: `t'/2 are not type variables but should invalid_instance_declarations.m:019: be. These are the first argument, `int' invalid_instance_declarations.m:019: and the second argument, `string'.