T7019.hs:11:12: Illegal constraint: forall a. c (Free c a) In the type ‘forall a. c (Free c a)’ In the type declaration for ‘C’