(Module (Empty) (Statements (GADT (Empty) (Type { (Identifier) ->(Identifier) } (Statements (Identifier) (Identifier) (Identifier)) (Empty)) (Statements (GADTConstructor (Empty) (Identifier) (FunctionType (Type (Identifier) (TypeParameters) (Empty)) (FunctionType (Type (Identifier) (TypeParameters) (Empty)) (FunctionType (Type (Identifier) (TypeParameters) (Empty)) (Type { (Identifier) ->(Identifier) } (TypeParameters (Identifier) (Identifier) (Identifier)) (Empty)))))))) (GADT (Empty) (Type { (Identifier) ->(Identifier) } (Statements (Identifier) (Identifier)) (Empty)) (Statements (GADTConstructor (Empty) { (Identifier) ->(Identifier) } (FunctionType (Type (Statements (Field (Statements (Identifier)) (Type (Identifier) (TypeParameters (Identifier)) (Empty))) (Field (Statements (Identifier)) (Type (Identifier) (TypeParameters (Identifier)) (Empty)))) (TypeParameters) (Empty)) (Type { (Identifier) ->(Identifier) } (TypeParameters (Identifier) (Identifier)) (Empty)))))) (GADT (Empty) (Type { (Identifier) ->(Identifier) } (Statements (Identifier)) (KindSignature (KindFunctionType (Kind (KindListType (Star))) (Kind { (Star) ->(KindListType {+(Star)+}) })))) (Statements)) (GADT (Empty) (Type { (Identifier) ->(Identifier) } (Statements (Identifier)) (Empty)) (Statements (GADTConstructor (Empty) { (Identifier) ->(Identifier) } (FunctionType (Type (StrictType (QualifiedTypeConstructorIdentifier (Identifier) (Identifier)) (TypeParameters)) (TypeParameters) (Empty)) (Type (Identifier) (TypeParameters (QualifiedTypeConstructorIdentifier (Identifier) (Identifier))) (Empty)))) (GADTConstructor (Empty) { (Identifier) ->(Identifier) } (FunctionType (Type (StrictType (QualifiedTypeConstructorIdentifier (Identifier) (Identifier)) (TypeParameters)) (TypeParameters) (Empty)) (Type (Identifier) (TypeParameters (QualifiedTypeConstructorIdentifier (Identifier) (Identifier))) (Empty)))) (GADTConstructor (Empty) { (Identifier) ->(Identifier) } (FunctionType (Type (StrictType (Identifier) (TypeParameters)) (TypeParameters) (Empty)) (Type (Identifier) (TypeParameters (Identifier)) (Empty)))))) (GADT (Empty) (Type (Identifier) (Statements (Identifier) (Identifier)) (Empty)) (Statements (GADTConstructor (Empty) (Identifier) (Context (Pragma) (FunctionType (Type (StrictType { (Identifier) ->(Identifier) } (TypeParameters)) (TypeParameters) (Empty)) (FunctionType (Type (Identifier) (TypeParameters (Identifier)) (Empty)) (Type (Identifier) (TypeParameters (Identifier) (Identifier)) (Empty))))))))))