PolyKinds07.hs:10:11: Data constructor ‘A1’ cannot be used here (it is defined and used in the same recursive group) In the first argument of ‘B’, namely ‘ 'A1’ In the type ‘B 'A1’ In the definition of data constructor ‘B1’