gadt11.hs:12:3: Data constructor ‘L2’ returns type ‘T1 Bool’ instead of an instance of its parent type ‘T2 a’ In the definition of data constructor ‘L2’ In the data declaration for ‘T2’