(Module (Empty) (Statements (GADT (Empty) (Type (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) (TypeParameters (Identifier) (Identifier) (Identifier)) (Empty)))))))) (GADT (Empty) (Type (Identifier) (Statements (Identifier) (Identifier)) (Empty)) (Statements (GADTConstructor (Empty) (Identifier) (FunctionType (Type (Statements (Field (Statements (Identifier)) (Type (Identifier) (TypeParameters (Identifier)) (Empty))) (Field (Statements (Identifier)) (Type (Identifier) (TypeParameters (Identifier)) (Empty)))) (TypeParameters) (Empty)) (Type (Identifier) (TypeParameters (Identifier) (Identifier)) (Empty)))))) (GADT (Empty) (Type (Identifier) (Statements (Identifier)) (KindSignature (KindFunctionType (Kind (KindListType (Star))) (Kind (KindListType (Star)))))) (Statements)) (GADT (Empty) (Type (Identifier) (Statements (Identifier)) (Empty)) (Statements (GADTConstructor (Empty) (Identifier) (FunctionType (Type (StrictType (QualifiedTypeConstructorIdentifier (Identifier) (Identifier)) (TypeParameters)) (TypeParameters) (Empty)) (Type (Identifier) (TypeParameters (QualifiedTypeConstructorIdentifier (Identifier) (Identifier))) (Empty)))) (GADTConstructor (Empty) (Identifier) (FunctionType (Type (StrictType (QualifiedTypeConstructorIdentifier (Identifier) (Identifier)) (TypeParameters)) (TypeParameters) (Empty)) (Type (Identifier) (TypeParameters (QualifiedTypeConstructorIdentifier (Identifier) (Identifier))) (Empty)))) (GADTConstructor (Empty) (Identifier) (FunctionType (Type (StrictType (Identifier) (TypeParameters)) (TypeParameters) (Empty)) (Type (Identifier) (TypeParameters (Identifier)) (Empty))))))))