Module "FlatCurryGoodies" Nothing [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(ImportDecl (20,1) "FlatCurry" False Nothing Nothing) ,(TypeDecl (22,1) (Ident "Update" 0) [(Ident "a" 0),(Ident "b" 0)] (ArrowType (ArrowType (VariableType (Ident "b" 0)) (VariableType (Ident "b" 0))) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0))))) ,(TypeSig (27,1) [(Ident "trProg" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) [])) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) [])) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) [])) (VariableType (Ident "a" 0))))))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (VariableType (Ident "a" 0))))) ,(FunctionDecl (29,1) (Ident "trProg" 0) [(Equation (29,1) (FunLhs (Ident "trProg" 0) [(VariablePattern (Ident "prog" 2)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Prog" 0)) [(VariablePattern (Ident "name" 2)),(VariablePattern (Ident "imps" 2)),(VariablePattern (Ident "types" 2)),(VariablePattern (Ident "funcs" 2)),(VariablePattern (Ident "ops" 2))]))]) (SimpleRhs (29,48) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "prog" 2))) (Variable (QualIdent Nothing (Ident "name" 2)))) (Variable (QualIdent Nothing (Ident "imps" 2)))) (Variable (QualIdent Nothing (Ident "types" 2)))) (Variable (QualIdent Nothing (Ident "funcs" 2)))) (Variable (QualIdent Nothing (Ident "ops" 2)))) []))]) ,(TypeSig (34,1) [(Ident "progName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (35,1) (Ident "progName" 0) [(Equation (35,1) (FunLhs (Ident "progName" 0) []) (SimpleRhs (35,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trProg" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 6)),(VariablePattern (Ident "_" 7)),(VariablePattern (Ident "_" 8)),(VariablePattern (Ident "_" 9)),(VariablePattern (Ident "_" 10))] (Variable (QualIdent Nothing (Ident "name" 6)))))) []))]) ,(TypeSig (38,1) [(Ident "progImports" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (39,1) (Ident "progImports" 0) [(Equation (39,1) (FunLhs (Ident "progImports" 0) []) (SimpleRhs (39,15) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trProg" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 14)),(VariablePattern (Ident "imps" 13)),(VariablePattern (Ident "_" 15)),(VariablePattern (Ident "_" 16)),(VariablePattern (Ident "_" 17))] (Variable (QualIdent Nothing (Ident "imps" 13)))))) []))]) ,(TypeSig (42,1) [(Ident "progTypes" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) [])))) ,(FunctionDecl (43,1) (Ident "progTypes" 0) [(Equation (43,1) (FunLhs (Ident "progTypes" 0) []) (SimpleRhs (43,13) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trProg" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 21)),(VariablePattern (Ident "_" 22)),(VariablePattern (Ident "types" 20)),(VariablePattern (Ident "_" 23)),(VariablePattern (Ident "_" 24))] (Variable (QualIdent Nothing (Ident "types" 20)))))) []))]) ,(TypeSig (46,1) [(Ident "progFuncs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) [])))) ,(FunctionDecl (47,1) (Ident "progFuncs" 0) [(Equation (47,1) (FunLhs (Ident "progFuncs" 0) []) (SimpleRhs (47,13) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trProg" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 28)),(VariablePattern (Ident "_" 29)),(VariablePattern (Ident "_" 30)),(VariablePattern (Ident "funcs" 27)),(VariablePattern (Ident "_" 31))] (Variable (QualIdent Nothing (Ident "funcs" 27)))))) []))]) ,(TypeSig (50,1) [(Ident "progOps" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) [])))) ,(FunctionDecl (51,1) (Ident "progOps" 0) [(Equation (51,1) (FunLhs (Ident "progOps" 0) []) (SimpleRhs (51,11) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trProg" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 35)),(VariablePattern (Ident "_" 36)),(VariablePattern (Ident "_" 37)),(VariablePattern (Ident "_" 38)),(VariablePattern (Ident "ops" 34))] (Variable (QualIdent Nothing (Ident "ops" 34)))))) []))]) ,(TypeSig (56,1) [(Ident "updProg" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []))) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []))) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) [])))))))) ,(FunctionDecl (61,1) (Ident "updProg" 0) [(Equation (61,1) (FunLhs (Ident "updProg" 0) [(VariablePattern (Ident "fn" 39)),(VariablePattern (Ident "fi" 39)),(VariablePattern (Ident "ft" 39)),(VariablePattern (Ident "ff" 39)),(VariablePattern (Ident "fo" 39))]) (SimpleRhs (61,26) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trProg" 0))) (Variable (QualIdent Nothing (Ident "prog" 40)))) [(FunctionDecl (63,3) (Ident "prog" 40) [(Equation (63,3) (FunLhs (Ident "prog" 40) [(VariablePattern (Ident "name" 41)),(VariablePattern (Ident "imps" 41)),(VariablePattern (Ident "types" 41)),(VariablePattern (Ident "funcs" 41)),(VariablePattern (Ident "ops" 41))]) (SimpleRhs (64,7) (Apply (Apply (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Prog" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fn" 39))) (Variable (QualIdent Nothing (Ident "name" 41)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fi" 39))) (Variable (QualIdent Nothing (Ident "imps" 41)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "ft" 39))) (Variable (QualIdent Nothing (Ident "types" 41)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "ff" 39))) (Variable (QualIdent Nothing (Ident "funcs" 41)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fo" 39))) (Variable (QualIdent Nothing (Ident "ops" 41)))))) []))])]))]) ,(TypeSig (67,1) [(Ident "updProgName" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])])) ,(FunctionDecl (68,1) (Ident "updProgName" 0) [(Equation (68,1) (FunLhs (Ident "updProgName" 0) [(VariablePattern (Ident "f" 43))]) (SimpleRhs (68,17) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProg" 0))) (Variable (QualIdent Nothing (Ident "f" 43)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (71,1) [(Ident "updProgImports" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))])) ,(FunctionDecl (72,1) (Ident "updProgImports" 0) [(Equation (72,1) (FunLhs (Ident "updProgImports" 0) [(VariablePattern (Ident "f" 45))]) (SimpleRhs (72,20) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProg" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 45)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (75,1) [(Ident "updProgTypes" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []))])) ,(FunctionDecl (76,1) (Ident "updProgTypes" 0) [(Equation (76,1) (FunLhs (Ident "updProgTypes" 0) [(VariablePattern (Ident "f" 47))]) (SimpleRhs (76,18) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProg" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 47)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (79,1) [(Ident "updProgFuncs" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []))])) ,(FunctionDecl (80,1) (Ident "updProgFuncs" 0) [(Equation (80,1) (FunLhs (Ident "updProgFuncs" 0) [(VariablePattern (Ident "f" 49))]) (SimpleRhs (80,18) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProg" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 49)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (83,1) [(Ident "updProgOps" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []))])) ,(FunctionDecl (84,1) (Ident "updProgOps" 0) [(Equation (84,1) (FunLhs (Ident "updProgOps" 0) []) (SimpleRhs (84,14) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProg" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (89,1) [(Ident "allVarsInProg" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (90,1) (Ident "allVarsInProg" 0) [(Equation (90,1) (FunLhs (Ident "allVarsInProg" 0) []) (SimpleRhs (90,17) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "allVarsInFunc" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "progFuncs" 0)))) []))]) ,(TypeSig (93,1) [(Ident "updProgExps" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])])) ,(FunctionDecl (94,1) (Ident "updProgExps" 0) [(Equation (94,1) (FunLhs (Ident "updProgExps" 0) []) (SimpleRhs (94,15) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProgFuncs" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFuncBody" 0))))) []))]) ,(TypeSig (97,1) [(Ident "rnmAllVarsInProg" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])])) ,(FunctionDecl (98,1) (Ident "rnmAllVarsInProg" 0) [(Equation (98,1) (FunLhs (Ident "rnmAllVarsInProg" 0) []) (SimpleRhs (98,20) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProgFuncs" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "rnmAllVarsInFunc" 0))))) []))]) ,(TypeSig (101,1) [(Ident "updQNamesInProg" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (102,1) (Ident "updQNamesInProg" 0) [(Equation (102,1) (FunLhs (Ident "updQNamesInProg" 0) [(VariablePattern (Ident "f" 59))]) (SimpleRhs (102,21) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProg" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInType" 0))) (Variable (QualIdent Nothing (Ident "f" 59)))))))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInFunc" 0))) (Variable (QualIdent Nothing (Ident "f" 59)))))))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updOpName" 0))) (Variable (QualIdent Nothing (Ident "f" 59)))))))) []))]) ,(TypeSig (106,1) [(Ident "rnmProg" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) [])))) ,(FunctionDecl (107,1) (Ident "rnmProg" 0) [(Equation (107,1) (FunLhs (Ident "rnmProg" 0) [(VariablePattern (Ident "name" 61)),(VariablePattern (Ident "p" 61))]) (SimpleRhs (107,18) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updProgName" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "const" 0))) (Variable (QualIdent Nothing (Ident "name" 61)))))) (Paren (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInProg" 0))) (Variable (QualIdent Nothing (Ident "rnm" 62)))) (Variable (QualIdent Nothing (Ident "p" 61)))))) [(FunctionDecl (109,3) (Ident "rnm" 62) [(Equation (109,3) (FunLhs (Ident "rnm" 62) [(TuplePattern [(VariablePattern (Ident "mod" 63)),(VariablePattern (Ident "n" 63))])]) (GuardedRhs [(CondExpr (109,15) (InfixApply (Variable (QualIdent Nothing (Ident "mod" 63))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "progName" 0))) (Variable (QualIdent Nothing (Ident "p" 61))))) (Tuple [(Variable (QualIdent Nothing (Ident "name" 61))),(Variable (QualIdent Nothing (Ident "n" 63)))])),(CondExpr (110,15) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Tuple [(Variable (QualIdent Nothing (Ident "mod" 63))),(Variable (QualIdent Nothing (Ident "n" 63)))]))] []))])]))]) ,(TypeSig (117,1) [(Ident "trType" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) [])) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) [])) (VariableType (Ident "a" 0)))))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (VariableType (Ident "a" 0)))))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (VariableType (Ident "a" 0)))))) ,(FunctionDecl (119,1) (Ident "trType" 0) [(Equation (119,1) (FunLhs (Ident "trType" 0) [(VariablePattern (Ident "typ" 65)),(VariablePattern (Ident "_" 66)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Type" 0)) [(VariablePattern (Ident "name" 65)),(VariablePattern (Ident "vis" 65)),(VariablePattern (Ident "params" 65)),(VariablePattern (Ident "cs" 65))]))]) (SimpleRhs (119,42) (Apply (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "typ" 65))) (Variable (QualIdent Nothing (Ident "name" 65)))) (Variable (QualIdent Nothing (Ident "vis" 65)))) (Variable (QualIdent Nothing (Ident "params" 65)))) (Variable (QualIdent Nothing (Ident "cs" 65)))) [])),(Equation (120,1) (FunLhs (Ident "trType" 0) [(VariablePattern (Ident "_" 69)),(VariablePattern (Ident "typesyn" 68)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TypeSyn" 0)) [(VariablePattern (Ident "name" 68)),(VariablePattern (Ident "vis" 68)),(VariablePattern (Ident "params" 68)),(VariablePattern (Ident "syn" 68))]))]) (SimpleRhs (120,50) (Apply (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "typesyn" 68))) (Variable (QualIdent Nothing (Ident "name" 68)))) (Variable (QualIdent Nothing (Ident "vis" 68)))) (Variable (QualIdent Nothing (Ident "params" 68)))) (Variable (QualIdent Nothing (Ident "syn" 68)))) []))]) ,(TypeSig (123,1) [(Ident "typeName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []))) ,(FunctionDecl (124,1) (Ident "typeName" 0) [(Equation (124,1) (FunLhs (Ident "typeName" 0) []) (SimpleRhs (124,12) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 73)),(VariablePattern (Ident "_" 74)),(VariablePattern (Ident "_" 75)),(VariablePattern (Ident "_" 76))] (Variable (QualIdent Nothing (Ident "name" 73)))))) (Paren (Lambda [(VariablePattern (Ident "name" 77)),(VariablePattern (Ident "_" 78)),(VariablePattern (Ident "_" 79)),(VariablePattern (Ident "_" 80))] (Variable (QualIdent Nothing (Ident "name" 77)))))) []))]) ,(TypeSig (127,1) [(Ident "typeVisibility" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []))) ,(FunctionDecl (128,1) (Ident "typeVisibility" 0) [(Equation (128,1) (FunLhs (Ident "typeVisibility" 0) []) (SimpleRhs (128,18) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 84)),(VariablePattern (Ident "vis" 83)),(VariablePattern (Ident "_" 85)),(VariablePattern (Ident "_" 86))] (Variable (QualIdent Nothing (Ident "vis" 83)))))) (Paren (Lambda [(VariablePattern (Ident "_" 88)),(VariablePattern (Ident "vis" 87)),(VariablePattern (Ident "_" 89)),(VariablePattern (Ident "_" 90))] (Variable (QualIdent Nothing (Ident "vis" 87)))))) []))]) ,(TypeSig (131,1) [(Ident "typeParams" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) [])))) ,(FunctionDecl (132,1) (Ident "typeParams" 0) [(Equation (132,1) (FunLhs (Ident "typeParams" 0) []) (SimpleRhs (132,14) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 94)),(VariablePattern (Ident "_" 95)),(VariablePattern (Ident "params" 93)),(VariablePattern (Ident "_" 96))] (Variable (QualIdent Nothing (Ident "params" 93)))))) (Paren (Lambda [(VariablePattern (Ident "_" 98)),(VariablePattern (Ident "_" 99)),(VariablePattern (Ident "params" 97)),(VariablePattern (Ident "_" 100))] (Variable (QualIdent Nothing (Ident "params" 97)))))) []))]) ,(TypeSig (135,1) [(Ident "typeConsDecls" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) [])))) ,(FunctionDecl (136,1) (Ident "typeConsDecls" 0) [(Equation (136,1) (FunLhs (Ident "typeConsDecls" 0) []) (SimpleRhs (136,17) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 104)),(VariablePattern (Ident "_" 105)),(VariablePattern (Ident "_" 106)),(VariablePattern (Ident "cs" 103))] (Variable (QualIdent Nothing (Ident "cs" 103)))))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) []))]) ,(TypeSig (139,1) [(Ident "typeSyn" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) ,(FunctionDecl (140,1) (Ident "typeSyn" 0) [(Equation (140,1) (FunLhs (Ident "typeSyn" 0) []) (SimpleRhs (140,11) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 110)),(VariablePattern (Ident "_" 111)),(VariablePattern (Ident "_" 112)),(VariablePattern (Ident "syn" 109))] (Variable (QualIdent Nothing (Ident "syn" 109)))))) []))]) ,(TypeSig (143,1) [(Ident "isTypeSyn" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (144,1) (Ident "isTypeSyn" 0) [(Equation (144,1) (FunLhs (Ident "isTypeSyn" 0) []) (SimpleRhs (144,13) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 116)),(VariablePattern (Ident "_" 117)),(VariablePattern (Ident "_" 118)),(VariablePattern (Ident "_" 119))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 121)),(VariablePattern (Ident "_" 122)),(VariablePattern (Ident "_" 123)),(VariablePattern (Ident "_" 124))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) []))]) ,(TypeSig (147,1) [(Ident "isDataTypeDecl" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (148,1) (Ident "isDataTypeDecl" 0) [(Equation (148,1) (FunLhs (Ident "isDataTypeDecl" 0) []) (SimpleRhs (148,18) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 128)),(VariablePattern (Ident "_" 129)),(VariablePattern (Ident "_" 130)),(VariablePattern (Ident "cs" 127))] (Apply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "cs" 127))))))))) (Paren (Lambda [(VariablePattern (Ident "_" 132)),(VariablePattern (Ident "_" 133)),(VariablePattern (Ident "_" 134)),(VariablePattern (Ident "_" 135))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (151,1) [(Ident "isExternalType" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (152,1) (Ident "isExternalType" 0) [(Equation (152,1) (FunLhs (Ident "isExternalType" 0) []) (SimpleRhs (152,18) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 139)),(VariablePattern (Ident "_" 140)),(VariablePattern (Ident "_" 141)),(VariablePattern (Ident "cs" 138))] (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "cs" 138))))))) (Paren (Lambda [(VariablePattern (Ident "_" 143)),(VariablePattern (Ident "_" 144)),(VariablePattern (Ident "_" 145)),(VariablePattern (Ident "_" 146))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (157,1) [(Ident "updType" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) [])) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) []))) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) [])))))))) ,(FunctionDecl (162,1) (Ident "updType" 0) [(Equation (162,1) (FunLhs (Ident "updType" 0) [(VariablePattern (Ident "fn" 147)),(VariablePattern (Ident "fv" 147)),(VariablePattern (Ident "fp" 147)),(VariablePattern (Ident "fc" 147)),(VariablePattern (Ident "fs" 147))]) (SimpleRhs (162,26) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trType" 0))) (Variable (QualIdent Nothing (Ident "typ" 148)))) (Variable (QualIdent Nothing (Ident "typesyn" 148)))) [(FunctionDecl (164,3) (Ident "typ" 148) [(Equation (164,3) (FunLhs (Ident "typ" 148) [(VariablePattern (Ident "name" 149)),(VariablePattern (Ident "vis" 149)),(VariablePattern (Ident "params" 149)),(VariablePattern (Ident "cs" 149))]) (SimpleRhs (164,28) (Apply (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Type" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fn" 147))) (Variable (QualIdent Nothing (Ident "name" 149)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fv" 147))) (Variable (QualIdent Nothing (Ident "vis" 149)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fp" 147))) (Variable (QualIdent Nothing (Ident "params" 149)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fc" 147))) (Variable (QualIdent Nothing (Ident "cs" 149)))))) []))]),(FunctionDecl (165,3) (Ident "typesyn" 148) [(Equation (165,3) (FunLhs (Ident "typesyn" 148) [(VariablePattern (Ident "name" 151)),(VariablePattern (Ident "vis" 151)),(VariablePattern (Ident "params" 151)),(VariablePattern (Ident "syn" 151))]) (SimpleRhs (165,33) (Apply (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "TypeSyn" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fn" 147))) (Variable (QualIdent Nothing (Ident "name" 151)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fv" 147))) (Variable (QualIdent Nothing (Ident "vis" 151)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fp" 147))) (Variable (QualIdent Nothing (Ident "params" 151)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fs" 147))) (Variable (QualIdent Nothing (Ident "syn" 151)))))) []))])]))]) ,(TypeSig (168,1) [(Ident "updTypeName" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (169,1) (Ident "updTypeName" 0) [(Equation (169,1) (FunLhs (Ident "updTypeName" 0) [(VariablePattern (Ident "f" 153))]) (SimpleRhs (169,17) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updType" 0))) (Variable (QualIdent Nothing (Ident "f" 153)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (172,1) [(Ident "updTypeVisibility" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) [])])) ,(FunctionDecl (173,1) (Ident "updTypeVisibility" 0) [(Equation (173,1) (FunLhs (Ident "updTypeVisibility" 0) [(VariablePattern (Ident "f" 155))]) (SimpleRhs (173,23) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updType" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 155)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (176,1) [(Ident "updTypeParams" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) []))])) ,(FunctionDecl (177,1) (Ident "updTypeParams" 0) [(Equation (177,1) (FunLhs (Ident "updTypeParams" 0) [(VariablePattern (Ident "f" 157))]) (SimpleRhs (177,19) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updType" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 157)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (180,1) [(Ident "updTypeConsDecls" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []))])) ,(FunctionDecl (181,1) (Ident "updTypeConsDecls" 0) [(Equation (181,1) (FunLhs (Ident "updTypeConsDecls" 0) [(VariablePattern (Ident "f" 159))]) (SimpleRhs (181,22) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updType" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 159)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (184,1) [(Ident "updTypeSynonym" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])])) ,(FunctionDecl (185,1) (Ident "updTypeSynonym" 0) [(Equation (185,1) (FunLhs (Ident "updTypeSynonym" 0) []) (SimpleRhs (185,18) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updType" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (190,1) [(Ident "updQNamesInType" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (191,1) (Ident "updQNamesInType" 0) [(Equation (191,1) (FunLhs (Ident "updQNamesInType" 0) [(VariablePattern (Ident "f" 163))]) (SimpleRhs (192,5) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updType" 0))) (Variable (QualIdent Nothing (Ident "f" 163)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInConsDecl" 0))) (Variable (QualIdent Nothing (Ident "f" 163)))))))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "f" 163)))))) []))]) ,(TypeSig (199,1) [(Ident "trCons" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])) (VariableType (Ident "a" 0)))))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []) (VariableType (Ident "a" 0))))) ,(FunctionDecl (200,1) (Ident "trCons" 0) [(Equation (200,1) (FunLhs (Ident "trCons" 0) [(VariablePattern (Ident "cons" 165)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Cons" 0)) [(VariablePattern (Ident "name" 165)),(VariablePattern (Ident "arity" 165)),(VariablePattern (Ident "vis" 165)),(VariablePattern (Ident "args" 165))]))]) (SimpleRhs (200,42) (Apply (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "cons" 165))) (Variable (QualIdent Nothing (Ident "name" 165)))) (Variable (QualIdent Nothing (Ident "arity" 165)))) (Variable (QualIdent Nothing (Ident "vis" 165)))) (Variable (QualIdent Nothing (Ident "args" 165)))) []))]) ,(TypeSig (203,1) [(Ident "consName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []))) ,(FunctionDecl (204,1) (Ident "consName" 0) [(Equation (204,1) (FunLhs (Ident "consName" 0) []) (SimpleRhs (204,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCons" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 169)),(VariablePattern (Ident "_" 170)),(VariablePattern (Ident "_" 171)),(VariablePattern (Ident "_" 172))] (Variable (QualIdent Nothing (Ident "name" 169)))))) []))]) ,(TypeSig (207,1) [(Ident "consArity" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (208,1) (Ident "consArity" 0) [(Equation (208,1) (FunLhs (Ident "consArity" 0) []) (SimpleRhs (208,13) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCons" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 176)),(VariablePattern (Ident "arity" 175)),(VariablePattern (Ident "_" 177)),(VariablePattern (Ident "_" 178))] (Variable (QualIdent Nothing (Ident "arity" 175)))))) []))]) ,(TypeSig (211,1) [(Ident "consVisibility" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []))) ,(FunctionDecl (212,1) (Ident "consVisibility" 0) [(Equation (212,1) (FunLhs (Ident "consVisibility" 0) []) (SimpleRhs (212,18) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCons" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 182)),(VariablePattern (Ident "_" 183)),(VariablePattern (Ident "vis" 181)),(VariablePattern (Ident "_" 184))] (Variable (QualIdent Nothing (Ident "vis" 181)))))) []))]) ,(TypeSig (215,1) [(Ident "consArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (216,1) (Ident "consArgs" 0) [(Equation (216,1) (FunLhs (Ident "consArgs" 0) []) (SimpleRhs (216,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCons" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 188)),(VariablePattern (Ident "_" 189)),(VariablePattern (Ident "_" 190)),(VariablePattern (Ident "args" 187))] (Variable (QualIdent Nothing (Ident "args" 187)))))) []))]) ,(TypeSig (221,1) [(Ident "updCons" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) [])) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []))))))) ,(FunctionDecl (225,1) (Ident "updCons" 0) [(Equation (225,1) (FunLhs (Ident "updCons" 0) [(VariablePattern (Ident "fn" 191)),(VariablePattern (Ident "fa" 191)),(VariablePattern (Ident "fv" 191)),(VariablePattern (Ident "fas" 191))]) (SimpleRhs (225,24) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCons" 0))) (Variable (QualIdent Nothing (Ident "cons" 192)))) [(FunctionDecl (227,3) (Ident "cons" 192) [(Equation (227,3) (FunLhs (Ident "cons" 192) [(VariablePattern (Ident "name" 193)),(VariablePattern (Ident "arity" 193)),(VariablePattern (Ident "vis" 193)),(VariablePattern (Ident "args" 193))]) (SimpleRhs (227,30) (Apply (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Cons" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fn" 191))) (Variable (QualIdent Nothing (Ident "name" 193)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fa" 191))) (Variable (QualIdent Nothing (Ident "arity" 193)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fv" 191))) (Variable (QualIdent Nothing (Ident "vis" 193)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fas" 191))) (Variable (QualIdent Nothing (Ident "args" 193)))))) []))])]))]) ,(TypeSig (230,1) [(Ident "updConsName" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (231,1) (Ident "updConsName" 0) [(Equation (231,1) (FunLhs (Ident "updConsName" 0) [(VariablePattern (Ident "f" 195))]) (SimpleRhs (231,17) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updCons" 0))) (Variable (QualIdent Nothing (Ident "f" 195)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (234,1) [(Ident "updConsArity" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])])) ,(FunctionDecl (235,1) (Ident "updConsArity" 0) [(Equation (235,1) (FunLhs (Ident "updConsArity" 0) [(VariablePattern (Ident "f" 197))]) (SimpleRhs (235,18) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updCons" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 197)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (238,1) [(Ident "updConsVisibility" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) [])])) ,(FunctionDecl (239,1) (Ident "updConsVisibility" 0) [(Equation (239,1) (FunLhs (Ident "updConsVisibility" 0) [(VariablePattern (Ident "f" 199))]) (SimpleRhs (239,23) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updCons" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 199)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (242,1) [(Ident "updConsArgs" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))])) ,(FunctionDecl (243,1) (Ident "updConsArgs" 0) [(Equation (243,1) (FunLhs (Ident "updConsArgs" 0) []) (SimpleRhs (243,15) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updCons" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (248,1) [(Ident "updQNamesInConsDecl" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "ConsDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (249,1) (Ident "updQNamesInConsDecl" 0) [(Equation (249,1) (FunLhs (Ident "updQNamesInConsDecl" 0) [(VariablePattern (Ident "f" 203))]) (SimpleRhs (249,25) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updCons" 0))) (Variable (QualIdent Nothing (Ident "f" 203)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "f" 203)))))))) []))]) ,(TypeSig (256,1) [(Ident "tVarIndex" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) []))) ,(FunctionDecl (257,1) (Ident "tVarIndex" 0) [(Equation (257,1) (FunLhs (Ident "tVarIndex" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TVar" 0)) [(VariablePattern (Ident "n" 205))]))]) (SimpleRhs (257,22) (Variable (QualIdent Nothing (Ident "n" 205))) []))]) ,(TypeSig (260,1) [(Ident "domain" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) ,(FunctionDecl (261,1) (Ident "domain" 0) [(Equation (261,1) (FunLhs (Ident "domain" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "dom" 207)),(VariablePattern (Ident "_" 208))]))]) (SimpleRhs (261,27) (Variable (QualIdent Nothing (Ident "dom" 207))) []))]) ,(TypeSig (264,1) [(Ident "range" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) ,(FunctionDecl (265,1) (Ident "range" 0) [(Equation (265,1) (FunLhs (Ident "range" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "_" 211)),(VariablePattern (Ident "ran" 210))]))]) (SimpleRhs (265,26) (Variable (QualIdent Nothing (Ident "ran" 210))) []))]) ,(TypeSig (268,1) [(Ident "tConsName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []))) ,(FunctionDecl (269,1) (Ident "tConsName" 0) [(Equation (269,1) (FunLhs (Ident "tConsName" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "name" 213)),(VariablePattern (Ident "_" 214))]))]) (SimpleRhs (269,28) (Variable (QualIdent Nothing (Ident "name" 213))) []))]) ,(TypeSig (272,1) [(Ident "tConsArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (273,1) (Ident "tConsArgs" 0) [(Equation (273,1) (FunLhs (Ident "tConsArgs" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "_" 217)),(VariablePattern (Ident "args" 216))]))]) (SimpleRhs (273,28) (Variable (QualIdent Nothing (Ident "args" 216))) []))]) ,(TypeSig (276,1) [(Ident "trTypeExpr" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) []) (VariableType (Ident "a" 0))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ListType (VariableType (Ident "a" 0))) (VariableType (Ident "a" 0)))) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0)))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (VariableType (Ident "a" 0))))))) ,(FunctionDecl (279,1) (Ident "trTypeExpr" 0) [(Equation (279,1) (FunLhs (Ident "trTypeExpr" 0) [(VariablePattern (Ident "tvar" 219)),(VariablePattern (Ident "_" 220)),(VariablePattern (Ident "_" 221)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TVar" 0)) [(VariablePattern (Ident "n" 219))]))]) (SimpleRhs (279,32) (Apply (Variable (QualIdent Nothing (Ident "tvar" 219))) (Variable (QualIdent Nothing (Ident "n" 219)))) [])),(Equation (280,1) (FunLhs (Ident "trTypeExpr" 0) [(VariablePattern (Ident "tvar" 223)),(VariablePattern (Ident "tcons" 223)),(VariablePattern (Ident "functype" 223)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "name" 223)),(VariablePattern (Ident "args" 223))]))]) (SimpleRhs (281,5) (Apply (Apply (Variable (QualIdent Nothing (Ident "tcons" 223))) (Variable (QualIdent Nothing (Ident "name" 223)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "tvar" 223)))) (Variable (QualIdent Nothing (Ident "tcons" 223)))) (Variable (QualIdent Nothing (Ident "functype" 223)))))) (Variable (QualIdent Nothing (Ident "args" 223)))))) [])),(Equation (282,1) (FunLhs (Ident "trTypeExpr" 0) [(VariablePattern (Ident "tvar" 225)),(VariablePattern (Ident "tcons" 225)),(VariablePattern (Ident "functype" 225)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "from" 225)),(VariablePattern (Ident "to" 225))]))]) (SimpleRhs (282,53) (Apply (Apply (Variable (QualIdent Nothing (Ident "functype" 225))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 226))) (Variable (QualIdent Nothing (Ident "from" 225)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 226))) (Variable (QualIdent Nothing (Ident "to" 225)))))) [(PatternDecl (284,3) (VariablePattern (Ident "f" 226)) (SimpleRhs (284,7) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "tvar" 225)))) (Variable (QualIdent Nothing (Ident "tcons" 225)))) (Variable (QualIdent Nothing (Ident "functype" 225)))) []))]))]) ,(TypeSig (289,1) [(Ident "isTVar" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (290,1) (Ident "isTVar" 0) [(Equation (290,1) (FunLhs (Ident "isTVar" 0) []) (SimpleRhs (290,10) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 231))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 233)),(VariablePattern (Ident "_" 234))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 236)),(VariablePattern (Ident "_" 237))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (293,1) [(Ident "isTCons" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (294,1) (Ident "isTCons" 0) [(Equation (294,1) (FunLhs (Ident "isTCons" 0) []) (SimpleRhs (294,11) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 241))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 243)),(VariablePattern (Ident "_" 244))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 246)),(VariablePattern (Ident "_" 247))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (297,1) [(Ident "isFuncType" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (298,1) (Ident "isFuncType" 0) [(Equation (298,1) (FunLhs (Ident "isFuncType" 0) []) (SimpleRhs (298,14) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 251))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 253)),(VariablePattern (Ident "_" 254))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 256)),(VariablePattern (Ident "_" 257))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) []))]) ,(TypeSig (303,1) [(Ident "updTVars" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (304,1) (Ident "updTVars" 0) [(Equation (304,1) (FunLhs (Ident "updTVars" 0) [(VariablePattern (Ident "tvar" 258))]) (SimpleRhs (304,17) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "tvar" 258)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "TCons" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)))) []))]) ,(TypeSig (307,1) [(Ident "updTCons" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (308,1) (Ident "updTCons" 0) [(Equation (308,1) (FunLhs (Ident "updTCons" 0) [(VariablePattern (Ident "tcons" 260))]) (SimpleRhs (308,18) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "TVar" 0)))) (Variable (QualIdent Nothing (Ident "tcons" 260)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)))) []))]) ,(TypeSig (311,1) [(Ident "updFuncTypes" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (312,1) (Ident "updFuncTypes" 0) [(Equation (312,1) (FunLhs (Ident "updFuncTypes" 0) []) (SimpleRhs (312,16) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "TVar" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "TCons" 0)))) []))]) ,(TypeSig (317,1) [(Ident "argTypes" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (318,1) (Ident "argTypes" 0) [(Equation (318,1) (FunLhs (Ident "argTypes" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TVar" 0)) [(VariablePattern (Ident "_" 265))]))]) (SimpleRhs (318,21) (List []) [])),(Equation (319,1) (FunLhs (Ident "argTypes" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "_" 268)),(VariablePattern (Ident "_" 269))]))]) (SimpleRhs (319,24) (List []) [])),(Equation (320,1) (FunLhs (Ident "argTypes" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "dom" 271)),(VariablePattern (Ident "ran" 271))]))]) (SimpleRhs (320,31) (InfixApply (Variable (QualIdent Nothing (Ident "dom" 271))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "argTypes" 0))) (Variable (QualIdent Nothing (Ident "ran" 271))))) []))]) ,(TypeSig (323,1) [(Ident "resultType" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) ,(FunctionDecl (324,1) (Ident "resultType" 0) [(Equation (324,1) (FunLhs (Ident "resultType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TVar" 0)) [(VariablePattern (Ident "n" 273))]))]) (SimpleRhs (324,23) (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "TVar" 0))) (Variable (QualIdent Nothing (Ident "n" 273)))) [])),(Equation (325,1) (FunLhs (Ident "resultType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "name" 275)),(VariablePattern (Ident "args" 275))]))]) (SimpleRhs (325,32) (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "TCons" 0))) (Variable (QualIdent Nothing (Ident "name" 275)))) (Variable (QualIdent Nothing (Ident "args" 275)))) [])),(Equation (326,1) (FunLhs (Ident "resultType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "_" 278)),(VariablePattern (Ident "ran" 277))]))]) (SimpleRhs (326,31) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "resultType" 0))) (Variable (QualIdent Nothing (Ident "ran" 277)))) []))]) ,(TypeSig (329,1) [(Ident "allVarsInTypeExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) [])))) ,(FunctionDecl (330,1) (Ident "allVarsInTypeExpr" 0) [(Equation (330,1) (FunLhs (Ident "allVarsInTypeExpr" 0) []) (SimpleRhs (330,21) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trTypeExpr" 0))) (RightSection (InfixConstr (QualIdent Nothing (Ident ":" 0))) (List []))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "const" 0))) (Variable (QualIdent (Just "Prelude") (Ident "concat" 0)))))) (Variable (QualIdent (Just "Prelude") (Ident "++" 0)))) []))]) ,(TypeSig (333,1) [(Ident "rnmAllVarsInTypeExpr" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TVarIndex" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (334,1) (Ident "rnmAllVarsInTypeExpr" 0) [(Equation (334,1) (FunLhs (Ident "rnmAllVarsInTypeExpr" 0) [(VariablePattern (Ident "f" 282))]) (SimpleRhs (334,26) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updTVars" 0))) (Paren (InfixApply (Constructor (QualIdent (Just "FlatCurry") (Ident "TVar" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent Nothing (Ident "f" 282)))))) []))]) ,(TypeSig (337,1) [(Ident "updQNamesInTypeExpr" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])))) ,(FunctionDecl (338,1) (Ident "updQNamesInTypeExpr" 0) [(Equation (338,1) (FunLhs (Ident "updQNamesInTypeExpr" 0) [(VariablePattern (Ident "f" 284))]) (SimpleRhs (338,25) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updTCons" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 286)),(VariablePattern (Ident "args" 286))] (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "TCons" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 284))) (Variable (QualIdent Nothing (Ident "name" 286)))))) (Variable (QualIdent Nothing (Ident "args" 286))))))) []))]) ,(TypeSig (343,1) [(Ident "trOp" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Fixity" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (VariableType (Ident "a" 0))))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []) (VariableType (Ident "a" 0))))) ,(FunctionDecl (344,1) (Ident "trOp" 0) [(Equation (344,1) (FunLhs (Ident "trOp" 0) [(VariablePattern (Ident "op" 287)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Op" 0)) [(VariablePattern (Ident "name" 287)),(VariablePattern (Ident "fix" 287)),(VariablePattern (Ident "prec" 287))]))]) (SimpleRhs (344,30) (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "op" 287))) (Variable (QualIdent Nothing (Ident "name" 287)))) (Variable (QualIdent Nothing (Ident "fix" 287)))) (Variable (QualIdent Nothing (Ident "prec" 287)))) []))]) ,(TypeSig (349,1) [(Ident "opName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []))) ,(FunctionDecl (350,1) (Ident "opName" 0) [(Equation (350,1) (FunLhs (Ident "opName" 0) []) (SimpleRhs (350,10) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trOp" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 291)),(VariablePattern (Ident "_" 292)),(VariablePattern (Ident "_" 293))] (Variable (QualIdent Nothing (Ident "name" 291)))))) []))]) ,(TypeSig (353,1) [(Ident "opFixity" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Fixity" 0)) []))) ,(FunctionDecl (354,1) (Ident "opFixity" 0) [(Equation (354,1) (FunLhs (Ident "opFixity" 0) []) (SimpleRhs (354,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trOp" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 297)),(VariablePattern (Ident "fix" 296)),(VariablePattern (Ident "_" 298))] (Variable (QualIdent Nothing (Ident "fix" 296)))))) []))]) ,(TypeSig (357,1) [(Ident "opPrecedence" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (358,1) (Ident "opPrecedence" 0) [(Equation (358,1) (FunLhs (Ident "opPrecedence" 0) []) (SimpleRhs (358,16) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trOp" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 302)),(VariablePattern (Ident "_" 303)),(VariablePattern (Ident "prec" 301))] (Variable (QualIdent Nothing (Ident "prec" 301)))))) []))]) ,(TypeSig (363,1) [(Ident "updOp" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Fixity" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Fixity" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) [])))))) ,(FunctionDecl (366,1) (Ident "updOp" 0) [(Equation (366,1) (FunLhs (Ident "updOp" 0) [(VariablePattern (Ident "fn" 304)),(VariablePattern (Ident "ff" 304)),(VariablePattern (Ident "fp" 304))]) (SimpleRhs (366,18) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trOp" 0))) (Variable (QualIdent Nothing (Ident "op" 305)))) [(FunctionDecl (368,3) (Ident "op" 305) [(Equation (368,3) (FunLhs (Ident "op" 305) [(VariablePattern (Ident "name" 306)),(VariablePattern (Ident "fix" 306)),(VariablePattern (Ident "prec" 306))]) (SimpleRhs (368,22) (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Op" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fn" 304))) (Variable (QualIdent Nothing (Ident "name" 306)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "ff" 304))) (Variable (QualIdent Nothing (Ident "fix" 306)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fp" 304))) (Variable (QualIdent Nothing (Ident "prec" 306)))))) []))])]))]) ,(TypeSig (371,1) [(Ident "updOpName" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (372,1) (Ident "updOpName" 0) [(Equation (372,1) (FunLhs (Ident "updOpName" 0) [(VariablePattern (Ident "f" 308))]) (SimpleRhs (372,15) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updOp" 0))) (Variable (QualIdent Nothing (Ident "f" 308)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (375,1) [(Ident "updOpFixity" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Fixity" 0)) [])])) ,(FunctionDecl (376,1) (Ident "updOpFixity" 0) [(Equation (376,1) (FunLhs (Ident "updOpFixity" 0) [(VariablePattern (Ident "f" 310))]) (SimpleRhs (376,17) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updOp" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 310)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (379,1) [(Ident "updOpPrecedence" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "OpDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])])) ,(FunctionDecl (380,1) (Ident "updOpPrecedence" 0) [(Equation (380,1) (FunLhs (Ident "updOpPrecedence" 0) []) (SimpleRhs (380,19) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updOp" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (385,1) [(Ident "trFunc" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (VariableType (Ident "a" 0))))))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (VariableType (Ident "a" 0))))) ,(FunctionDecl (386,1) (Ident "trFunc" 0) [(Equation (386,1) (FunLhs (Ident "trFunc" 0) [(VariablePattern (Ident "func" 314)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Func" 0)) [(VariablePattern (Ident "name" 314)),(VariablePattern (Ident "arity" 314)),(VariablePattern (Ident "vis" 314)),(VariablePattern (Ident "t" 314)),(VariablePattern (Ident "rule" 314))]))]) (SimpleRhs (386,44) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "func" 314))) (Variable (QualIdent Nothing (Ident "name" 314)))) (Variable (QualIdent Nothing (Ident "arity" 314)))) (Variable (QualIdent Nothing (Ident "vis" 314)))) (Variable (QualIdent Nothing (Ident "t" 314)))) (Variable (QualIdent Nothing (Ident "rule" 314)))) []))]) ,(TypeSig (391,1) [(Ident "funcName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []))) ,(FunctionDecl (392,1) (Ident "funcName" 0) [(Equation (392,1) (FunLhs (Ident "funcName" 0) []) (SimpleRhs (392,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trFunc" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 318)),(VariablePattern (Ident "_" 319)),(VariablePattern (Ident "_" 320)),(VariablePattern (Ident "_" 321)),(VariablePattern (Ident "_" 322))] (Variable (QualIdent Nothing (Ident "name" 318)))))) []))]) ,(TypeSig (395,1) [(Ident "funcArity" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (396,1) (Ident "funcArity" 0) [(Equation (396,1) (FunLhs (Ident "funcArity" 0) []) (SimpleRhs (396,13) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trFunc" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 326)),(VariablePattern (Ident "arity" 325)),(VariablePattern (Ident "_" 327)),(VariablePattern (Ident "_" 328)),(VariablePattern (Ident "_" 329))] (Variable (QualIdent Nothing (Ident "arity" 325)))))) []))]) ,(TypeSig (399,1) [(Ident "funcVisibility" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []))) ,(FunctionDecl (400,1) (Ident "funcVisibility" 0) [(Equation (400,1) (FunLhs (Ident "funcVisibility" 0) []) (SimpleRhs (400,18) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trFunc" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 333)),(VariablePattern (Ident "_" 334)),(VariablePattern (Ident "vis" 332)),(VariablePattern (Ident "_" 335)),(VariablePattern (Ident "_" 336))] (Variable (QualIdent Nothing (Ident "vis" 332)))))) []))]) ,(TypeSig (403,1) [(Ident "funcType" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []))) ,(FunctionDecl (404,1) (Ident "funcType" 0) [(Equation (404,1) (FunLhs (Ident "funcType" 0) []) (SimpleRhs (404,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trFunc" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 340)),(VariablePattern (Ident "_" 341)),(VariablePattern (Ident "_" 342)),(VariablePattern (Ident "t" 339)),(VariablePattern (Ident "_" 343))] (Variable (QualIdent Nothing (Ident "t" 339)))))) []))]) ,(TypeSig (407,1) [(Ident "funcRule" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []))) ,(FunctionDecl (408,1) (Ident "funcRule" 0) [(Equation (408,1) (FunLhs (Ident "funcRule" 0) []) (SimpleRhs (408,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trFunc" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 347)),(VariablePattern (Ident "_" 348)),(VariablePattern (Ident "_" 349)),(VariablePattern (Ident "_" 350)),(VariablePattern (Ident "rule" 346))] (Variable (QualIdent Nothing (Ident "rule" 346)))))) []))]) ,(TypeSig (413,1) [(Ident "updFunc" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) [])))))))) ,(FunctionDecl (418,1) (Ident "updFunc" 0) [(Equation (418,1) (FunLhs (Ident "updFunc" 0) [(VariablePattern (Ident "fn" 351)),(VariablePattern (Ident "fa" 351)),(VariablePattern (Ident "fv" 351)),(VariablePattern (Ident "ft" 351)),(VariablePattern (Ident "fr" 351))]) (SimpleRhs (418,26) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trFunc" 0))) (Variable (QualIdent Nothing (Ident "func" 352)))) [(FunctionDecl (420,3) (Ident "func" 352) [(Equation (420,3) (FunLhs (Ident "func" 352) [(VariablePattern (Ident "name" 353)),(VariablePattern (Ident "arity" 353)),(VariablePattern (Ident "vis" 353)),(VariablePattern (Ident "t" 353)),(VariablePattern (Ident "rule" 353))]) (SimpleRhs (421,7) (Apply (Apply (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Func" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fn" 351))) (Variable (QualIdent Nothing (Ident "name" 353)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fa" 351))) (Variable (QualIdent Nothing (Ident "arity" 353)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fv" 351))) (Variable (QualIdent Nothing (Ident "vis" 353)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "ft" 351))) (Variable (QualIdent Nothing (Ident "t" 353)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fr" 351))) (Variable (QualIdent Nothing (Ident "rule" 353)))))) []))])]))]) ,(TypeSig (424,1) [(Ident "updFuncName" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (425,1) (Ident "updFuncName" 0) [(Equation (425,1) (FunLhs (Ident "updFuncName" 0) [(VariablePattern (Ident "f" 355))]) (SimpleRhs (425,17) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFunc" 0))) (Variable (QualIdent Nothing (Ident "f" 355)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (428,1) [(Ident "updFuncArity" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])])) ,(FunctionDecl (429,1) (Ident "updFuncArity" 0) [(Equation (429,1) (FunLhs (Ident "updFuncArity" 0) [(VariablePattern (Ident "f" 357))]) (SimpleRhs (429,18) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFunc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 357)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (432,1) [(Ident "updFuncVisibility" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Visibility" 0)) [])])) ,(FunctionDecl (433,1) (Ident "updFuncVisibility" 0) [(Equation (433,1) (FunLhs (Ident "updFuncVisibility" 0) [(VariablePattern (Ident "f" 359))]) (SimpleRhs (433,23) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFunc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 359)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (436,1) [(Ident "updFuncType" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) [])])) ,(FunctionDecl (437,1) (Ident "updFuncType" 0) [(Equation (437,1) (FunLhs (Ident "updFuncType" 0) [(VariablePattern (Ident "f" 361))]) (SimpleRhs (437,17) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFunc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 361)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (440,1) [(Ident "updFuncRule" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Rule" 0)) [])])) ,(FunctionDecl (441,1) (Ident "updFuncRule" 0) [(Equation (441,1) (FunLhs (Ident "updFuncRule" 0) []) (SimpleRhs (441,15) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFunc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (446,1) [(Ident "isExternal" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (447,1) (Ident "isExternal" 0) [(Equation (447,1) (FunLhs (Ident "isExternal" 0) []) (SimpleRhs (447,14) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isRuleExternal" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "funcRule" 0)))) []))]) ,(TypeSig (450,1) [(Ident "allVarsInFunc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (451,1) (Ident "allVarsInFunc" 0) [(Equation (451,1) (FunLhs (Ident "allVarsInFunc" 0) []) (SimpleRhs (451,17) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "allVarsInRule" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "funcRule" 0)))) []))]) ,(TypeSig (454,1) [(Ident "funcArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (455,1) (Ident "funcArgs" 0) [(Equation (455,1) (FunLhs (Ident "funcArgs" 0) []) (SimpleRhs (455,12) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "ruleArgs" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "funcRule" 0)))) []))]) ,(TypeSig (458,1) [(Ident "funcBody" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) ,(FunctionDecl (459,1) (Ident "funcBody" 0) [(Equation (459,1) (FunLhs (Ident "funcBody" 0) []) (SimpleRhs (459,12) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "ruleBody" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "funcRule" 0)))) []))]) ,(TypeSig (461,1) [(Ident "funcRHS" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (462,1) (Ident "funcRHS" 0) [(Equation (462,1) (FunLhs (Ident "funcRHS" 0) [(VariablePattern (Ident "f" 373))]) (GuardedRhs [(CondExpr (462,11) (Apply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isExternal" 0))) (Variable (QualIdent Nothing (Ident "f" 373)))))) (Apply (Variable (QualIdent Nothing (Ident "orCase" 374))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "funcBody" 0))) (Variable (QualIdent Nothing (Ident "f" 373))))))),(CondExpr (463,11) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (List []))] [(FunctionDecl (465,3) (Ident "orCase" 374) [(Equation (465,3) (FunLhs (Ident "orCase" 374) [(VariablePattern (Ident "e" 375))]) (GuardedRhs [(CondExpr (466,5) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isOr" 0))) (Variable (QualIdent Nothing (Ident "e" 375)))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Variable (QualIdent Nothing (Ident "orCase" 374)))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "orExps" 0))) (Variable (QualIdent Nothing (Ident "e" 375))))))),(CondExpr (467,5) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isCase" 0))) (Variable (QualIdent Nothing (Ident "e" 375)))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Variable (QualIdent Nothing (Ident "orCase" 374)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "branchExpr" 0)))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "caseBranches" 0))) (Variable (QualIdent Nothing (Ident "e" 375))))))))),(CondExpr (468,5) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (List [(Variable (QualIdent Nothing (Ident "e" 375)))]))] []))])]))]) ,(TypeSig (471,1) [(Ident "rnmAllVarsInFunc" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])])) ,(FunctionDecl (472,1) (Ident "rnmAllVarsInFunc" 0) [(Equation (472,1) (FunLhs (Ident "rnmAllVarsInFunc" 0) []) (SimpleRhs (472,20) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFunc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "rnmAllVarsInRule" 0)))) []))]) ,(TypeSig (475,1) [(Ident "updQNamesInFunc" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (476,1) (Ident "updQNamesInFunc" 0) [(Equation (476,1) (FunLhs (Ident "updQNamesInFunc" 0) [(VariablePattern (Ident "f" 379))]) (SimpleRhs (476,21) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFunc" 0))) (Variable (QualIdent Nothing (Ident "f" 379)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "f" 379)))))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNamesInRule" 0))) (Variable (QualIdent Nothing (Ident "f" 379)))))) []))]) ,(TypeSig (479,1) [(Ident "updFuncArgs" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []))])) ,(FunctionDecl (480,1) (Ident "updFuncArgs" 0) [(Equation (480,1) (FunLhs (Ident "updFuncArgs" 0) []) (SimpleRhs (480,15) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFuncRule" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updRuleArgs" 0)))) []))]) ,(TypeSig (483,1) [(Ident "updFuncBody" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])])) ,(FunctionDecl (484,1) (Ident "updFuncBody" 0) [(Equation (484,1) (FunLhs (Ident "updFuncBody" 0) []) (SimpleRhs (484,15) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updFuncRule" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updRuleBody" 0)))) []))]) ,(TypeSig (489,1) [(Ident "trRule" 0)] (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (VariableType (Ident "a" 0)))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (VariableType (Ident "a" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (VariableType (Ident "a" 0)))))) ,(FunctionDecl (490,1) (Ident "trRule" 0) [(Equation (490,1) (FunLhs (Ident "trRule" 0) [(VariablePattern (Ident "rule" 385)),(VariablePattern (Ident "_" 386)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Rule" 0)) [(VariablePattern (Ident "args" 385)),(VariablePattern (Ident "exp" 385))]))]) (SimpleRhs (490,33) (Apply (Apply (Variable (QualIdent Nothing (Ident "rule" 385))) (Variable (QualIdent Nothing (Ident "args" 385)))) (Variable (QualIdent Nothing (Ident "exp" 385)))) [])),(Equation (491,1) (FunLhs (Ident "trRule" 0) [(VariablePattern (Ident "_" 389)),(VariablePattern (Ident "ext" 388)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "External" 0)) [(VariablePattern (Ident "s" 388))]))]) (SimpleRhs (491,29) (Apply (Variable (QualIdent Nothing (Ident "ext" 388))) (Variable (QualIdent Nothing (Ident "s" 388)))) []))]) ,(TypeSig (496,1) [(Ident "ruleArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (497,1) (Ident "ruleArgs" 0) [(Equation (497,1) (FunLhs (Ident "ruleArgs" 0) []) (SimpleRhs (497,12) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trRule" 0))) (Paren (Lambda [(VariablePattern (Ident "args" 393)),(VariablePattern (Ident "_" 394))] (Variable (QualIdent Nothing (Ident "args" 393)))))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) []))]) ,(TypeSig (500,1) [(Ident "ruleBody" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) ,(FunctionDecl (501,1) (Ident "ruleBody" 0) [(Equation (501,1) (FunLhs (Ident "ruleBody" 0) []) (SimpleRhs (501,12) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trRule" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 398)),(VariablePattern (Ident "exp" 397))] (Variable (QualIdent Nothing (Ident "exp" 397)))))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) []))]) ,(TypeSig (504,1) [(Ident "ruleExtDecl" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (505,1) (Ident "ruleExtDecl" 0) [(Equation (505,1) (FunLhs (Ident "ruleExtDecl" 0) []) (SimpleRhs (505,15) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trRule" 0))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (510,1) [(Ident "isRuleExternal" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (511,1) (Ident "isRuleExternal" 0) [(Equation (511,1) (FunLhs (Ident "isRuleExternal" 0) []) (SimpleRhs (511,18) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trRule" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 404)),(VariablePattern (Ident "_" 405))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 407))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) []))]) ,(TypeSig (516,1) [(Ident "updRule" 0)] (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) [])))))) ,(FunctionDecl (519,1) (Ident "updRule" 0) [(Equation (519,1) (FunLhs (Ident "updRule" 0) [(VariablePattern (Ident "fa" 408)),(VariablePattern (Ident "fe" 408)),(VariablePattern (Ident "fs" 408))]) (SimpleRhs (519,20) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trRule" 0))) (Variable (QualIdent Nothing (Ident "rule" 409)))) (Variable (QualIdent Nothing (Ident "ext" 409)))) [(FunctionDecl (521,3) (Ident "rule" 409) [(Equation (521,3) (FunLhs (Ident "rule" 409) [(VariablePattern (Ident "args" 410)),(VariablePattern (Ident "exp" 410))]) (SimpleRhs (521,19) (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Rule" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fa" 408))) (Variable (QualIdent Nothing (Ident "args" 410)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fe" 408))) (Variable (QualIdent Nothing (Ident "exp" 410)))))) []))]),(FunctionDecl (522,3) (Ident "ext" 409) [(Equation (522,3) (FunLhs (Ident "ext" 409) [(VariablePattern (Ident "s" 412))]) (SimpleRhs (522,11) (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "External" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fs" 408))) (Variable (QualIdent Nothing (Ident "s" 412)))))) []))])]))]) ,(TypeSig (525,1) [(Ident "updRuleArgs" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []))])) ,(FunctionDecl (526,1) (Ident "updRuleArgs" 0) [(Equation (526,1) (FunLhs (Ident "updRuleArgs" 0) [(VariablePattern (Ident "f" 414))]) (SimpleRhs (526,17) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updRule" 0))) (Variable (QualIdent Nothing (Ident "f" 414)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (529,1) [(Ident "updRuleBody" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])])) ,(FunctionDecl (530,1) (Ident "updRuleBody" 0) [(Equation (530,1) (FunLhs (Ident "updRuleBody" 0) [(VariablePattern (Ident "f" 416))]) (SimpleRhs (530,17) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updRule" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 416)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (533,1) [(Ident "updRuleExtDecl" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])])) ,(FunctionDecl (534,1) (Ident "updRuleExtDecl" 0) [(Equation (534,1) (FunLhs (Ident "updRuleExtDecl" 0) [(VariablePattern (Ident "f" 418))]) (SimpleRhs (534,20) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updRule" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 418)))) []))]) ,(TypeSig (539,1) [(Ident "allVarsInRule" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (540,1) (Ident "allVarsInRule" 0) [(Equation (540,1) (FunLhs (Ident "allVarsInRule" 0) []) (SimpleRhs (540,17) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trRule" 0))) (Paren (Lambda [(VariablePattern (Ident "args" 422)),(VariablePattern (Ident "body" 422))] (InfixApply (Variable (QualIdent Nothing (Ident "args" 422))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "allVars" 0))) (Variable (QualIdent Nothing (Ident "body" 422)))))))) (Paren (Lambda [(VariablePattern (Ident "_" 424))] (List [])))) []))]) ,(TypeSig (543,1) [(Ident "rnmAllVarsInRule" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []),(ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])])) ,(FunctionDecl (544,1) (Ident "rnmAllVarsInRule" 0) [(Equation (544,1) (FunLhs (Ident "rnmAllVarsInRule" 0) [(VariablePattern (Ident "f" 425))]) (SimpleRhs (544,22) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updRule" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "f" 425)))))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "rnmAllVars" 0))) (Variable (QualIdent Nothing (Ident "f" 425)))))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (547,1) [(Ident "updQNamesInRule" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Rule" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (548,1) (Ident "updQNamesInRule" 0) [(Equation (548,1) (FunLhs (Ident "updQNamesInRule" 0) []) (SimpleRhs (548,19) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updRuleBody" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updQNames" 0)))) []))]) ,(TypeSig (553,1) [(Ident "trCombType" 0)] (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (VariableType (Ident "a" 0))) (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (VariableType (Ident "a" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (VariableType (Ident "a" 0)))))))) ,(FunctionDecl (554,1) (Ident "trCombType" 0) [(Equation (554,1) (FunLhs (Ident "trCombType" 0) [(VariablePattern (Ident "fc" 429)),(VariablePattern (Ident "_" 430)),(VariablePattern (Ident "_" 431)),(VariablePattern (Ident "_" 432)),(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncCall" 0)) [])]) (SimpleRhs (554,32) (Variable (QualIdent Nothing (Ident "fc" 429))) [])),(Equation (555,1) (FunLhs (Ident "trCombType" 0) [(VariablePattern (Ident "_" 435)),(VariablePattern (Ident "fpc" 434)),(VariablePattern (Ident "_" 436)),(VariablePattern (Ident "_" 437)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncPartCall" 0)) [(VariablePattern (Ident "n" 434))]))]) (SimpleRhs (555,41) (Apply (Variable (QualIdent Nothing (Ident "fpc" 434))) (Variable (QualIdent Nothing (Ident "n" 434)))) [])),(Equation (556,1) (FunLhs (Ident "trCombType" 0) [(VariablePattern (Ident "_" 440)),(VariablePattern (Ident "_" 441)),(VariablePattern (Ident "cc" 439)),(VariablePattern (Ident "_" 442)),(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "ConsCall" 0)) [])]) (SimpleRhs (556,32) (Variable (QualIdent Nothing (Ident "cc" 439))) [])),(Equation (557,1) (FunLhs (Ident "trCombType" 0) [(VariablePattern (Ident "_" 445)),(VariablePattern (Ident "_" 446)),(VariablePattern (Ident "_" 447)),(VariablePattern (Ident "cpc" 444)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "ConsPartCall" 0)) [(VariablePattern (Ident "n" 444))]))]) (SimpleRhs (557,41) (Apply (Variable (QualIdent Nothing (Ident "cpc" 444))) (Variable (QualIdent Nothing (Ident "n" 444)))) []))]) ,(TypeSig (562,1) [(Ident "isCombTypeFuncCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (563,1) (Ident "isCombTypeFuncCall" 0) [(Equation (563,1) (FunLhs (Ident "isCombTypeFuncCall" 0) []) (SimpleRhs (563,22) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCombType" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 452))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 454))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (566,1) [(Ident "isCombTypeFuncPartCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (567,1) (Ident "isCombTypeFuncPartCall" 0) [(Equation (567,1) (FunLhs (Ident "isCombTypeFuncPartCall" 0) []) (SimpleRhs (567,26) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCombType" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 458))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 460))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (570,1) [(Ident "isCombTypeConsCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (571,1) (Ident "isCombTypeConsCall" 0) [(Equation (571,1) (FunLhs (Ident "isCombTypeConsCall" 0) []) (SimpleRhs (571,22) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCombType" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 464))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 466))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (574,1) [(Ident "isCombTypeConsPartCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (575,1) (Ident "isCombTypeConsPartCall" 0) [(Equation (575,1) (FunLhs (Ident "isCombTypeConsPartCall" 0) []) (SimpleRhs (575,26) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCombType" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 470))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Lambda [(VariablePattern (Ident "_" 472))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) []))]) ,(TypeSig (579,1) [(Ident "missingArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (580,1) (Ident "missingArgs" 0) [(Equation (580,1) (FunLhs (Ident "missingArgs" 0) []) (SimpleRhs (580,15) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trCombType" 0))) (Literal (Int (Ident "_" 475) 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Literal (Int (Ident "_" 476) 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (587,1) [(Ident "varNr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []))) ,(FunctionDecl (588,1) (Ident "varNr" 0) [(Equation (588,1) (FunLhs (Ident "varNr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Var" 0)) [(VariablePattern (Ident "n" 477))]))]) (SimpleRhs (588,17) (Variable (QualIdent Nothing (Ident "n" 477))) []))]) ,(TypeSig (591,1) [(Ident "literal" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) []))) ,(FunctionDecl (592,1) (Ident "literal" 0) [(Equation (592,1) (FunLhs (Ident "literal" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(VariablePattern (Ident "l" 479))]))]) (SimpleRhs (592,19) (Variable (QualIdent Nothing (Ident "l" 479))) []))]) ,(TypeSig (595,1) [(Ident "combType" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []))) ,(FunctionDecl (596,1) (Ident "combType" 0) [(Equation (596,1) (FunLhs (Ident "combType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "ct" 481)),(VariablePattern (Ident "_" 482)),(VariablePattern (Ident "_" 483))]))]) (SimpleRhs (596,26) (Variable (QualIdent Nothing (Ident "ct" 481))) []))]) ,(TypeSig (599,1) [(Ident "combName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []))) ,(FunctionDecl (600,1) (Ident "combName" 0) [(Equation (600,1) (FunLhs (Ident "combName" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 486)),(VariablePattern (Ident "name" 485)),(VariablePattern (Ident "_" 487))]))]) (SimpleRhs (600,28) (Variable (QualIdent Nothing (Ident "name" 485))) []))]) ,(TypeSig (603,1) [(Ident "combArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (604,1) (Ident "combArgs" 0) [(Equation (604,1) (FunLhs (Ident "combArgs" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 490)),(VariablePattern (Ident "_" 491)),(VariablePattern (Ident "args" 489))]))]) (SimpleRhs (604,28) (Variable (QualIdent Nothing (Ident "args" 489))) []))]) ,(TypeSig (607,1) [(Ident "missingCombArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (608,1) (Ident "missingCombArgs" 0) [(Equation (608,1) (FunLhs (Ident "missingCombArgs" 0) []) (SimpleRhs (608,19) (InfixApply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "missingArgs" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "combType" 0)))) []))]) ,(TypeSig (611,1) [(Ident "letBinds" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])])))) ,(FunctionDecl (612,1) (Ident "letBinds" 0) [(Equation (612,1) (FunLhs (Ident "letBinds" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Let" 0)) [(VariablePattern (Ident "vs" 495)),(VariablePattern (Ident "_" 496))]))]) (SimpleRhs (612,23) (Variable (QualIdent Nothing (Ident "vs" 495))) []))]) ,(TypeSig (615,1) [(Ident "letBody" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) ,(FunctionDecl (616,1) (Ident "letBody" 0) [(Equation (616,1) (FunLhs (Ident "letBody" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Let" 0)) [(VariablePattern (Ident "_" 499)),(VariablePattern (Ident "e" 498))]))]) (SimpleRhs (616,21) (Variable (QualIdent Nothing (Ident "e" 498))) []))]) ,(TypeSig (619,1) [(Ident "freeVars" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (620,1) (Ident "freeVars" 0) [(Equation (620,1) (FunLhs (Ident "freeVars" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(VariablePattern (Ident "vs" 501)),(VariablePattern (Ident "_" 502))]))]) (SimpleRhs (620,24) (Variable (QualIdent Nothing (Ident "vs" 501))) []))]) ,(TypeSig (623,1) [(Ident "freeExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) ,(FunctionDecl (624,1) (Ident "freeExpr" 0) [(Equation (624,1) (FunLhs (Ident "freeExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(VariablePattern (Ident "_" 505)),(VariablePattern (Ident "e" 504))]))]) (SimpleRhs (624,23) (Variable (QualIdent Nothing (Ident "e" 504))) []))]) ,(TypeSig (627,1) [(Ident "orExps" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (628,1) (Ident "orExps" 0) [(Equation (628,1) (FunLhs (Ident "orExps" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Or" 0)) [(VariablePattern (Ident "e1" 507)),(VariablePattern (Ident "e2" 507))]))]) (SimpleRhs (628,31) (List [(Variable (QualIdent Nothing (Ident "e1" 507))),(Variable (QualIdent Nothing (Ident "e2" 507)))]) []))]) ,(TypeSig (631,1) [(Ident "caseType" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "CaseType" 0)) []))) ,(FunctionDecl (632,1) (Ident "caseType" 0) [(Equation (632,1) (FunLhs (Ident "caseType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(VariablePattern (Ident "ct" 509)),(VariablePattern (Ident "_" 510)),(VariablePattern (Ident "_" 511))]))]) (SimpleRhs (632,26) (Variable (QualIdent Nothing (Ident "ct" 509))) []))]) ,(TypeSig (635,1) [(Ident "caseExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) ,(FunctionDecl (636,1) (Ident "caseExpr" 0) [(Equation (636,1) (FunLhs (Ident "caseExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(VariablePattern (Ident "_" 514)),(VariablePattern (Ident "e" 513)),(VariablePattern (Ident "_" 515))]))]) (SimpleRhs (636,25) (Variable (QualIdent Nothing (Ident "e" 513))) []))]) ,(TypeSig (639,1) [(Ident "caseBranches" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) [])))) ,(FunctionDecl (640,1) (Ident "caseBranches" 0) [(Equation (640,1) (FunLhs (Ident "caseBranches" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(VariablePattern (Ident "_" 518)),(VariablePattern (Ident "_" 519)),(VariablePattern (Ident "bs" 517))]))]) (SimpleRhs (640,30) (Variable (QualIdent Nothing (Ident "bs" 517))) []))]) ,(TypeSig (645,1) [(Ident "isVar" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (646,1) (Ident "isVar" 0) [(Equation (646,1) (FunLhs (Ident "isVar" 0) [(VariablePattern (Ident "e" 521))]) (SimpleRhs (646,11) (Case (Variable (QualIdent Nothing (Ident "e" 521))) [(Alt (647,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Var" 0)) [(VariablePattern (Ident "_" 524))]) (SimpleRhs (647,12) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (648,3) (VariablePattern (Ident "_" 527)) (SimpleRhs (648,8) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (651,1) [(Ident "isLit" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (652,1) (Ident "isLit" 0) [(Equation (652,1) (FunLhs (Ident "isLit" 0) [(VariablePattern (Ident "e" 529))]) (SimpleRhs (652,11) (Case (Variable (QualIdent Nothing (Ident "e" 529))) [(Alt (653,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(VariablePattern (Ident "_" 532))]) (SimpleRhs (653,12) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (654,3) (VariablePattern (Ident "_" 535)) (SimpleRhs (654,8) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (657,1) [(Ident "isComb" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (658,1) (Ident "isComb" 0) [(Equation (658,1) (FunLhs (Ident "isComb" 0) [(VariablePattern (Ident "e" 537))]) (SimpleRhs (658,12) (Case (Variable (QualIdent Nothing (Ident "e" 537))) [(Alt (659,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 540)),(VariablePattern (Ident "_" 541)),(VariablePattern (Ident "_" 542))]) (SimpleRhs (659,17) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (660,3) (VariablePattern (Ident "_" 545)) (SimpleRhs (660,8) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (663,1) [(Ident "isLet" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (664,1) (Ident "isLet" 0) [(Equation (664,1) (FunLhs (Ident "isLet" 0) [(VariablePattern (Ident "e" 547))]) (SimpleRhs (664,11) (Case (Variable (QualIdent Nothing (Ident "e" 547))) [(Alt (665,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Let" 0)) [(VariablePattern (Ident "_" 550)),(VariablePattern (Ident "_" 551))]) (SimpleRhs (665,14) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (666,3) (VariablePattern (Ident "_" 554)) (SimpleRhs (666,8) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (669,1) [(Ident "isFree" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (670,1) (Ident "isFree" 0) [(Equation (670,1) (FunLhs (Ident "isFree" 0) [(VariablePattern (Ident "e" 556))]) (SimpleRhs (670,12) (Case (Variable (QualIdent Nothing (Ident "e" 556))) [(Alt (671,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(VariablePattern (Ident "_" 559)),(VariablePattern (Ident "_" 560))]) (SimpleRhs (671,15) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (672,3) (VariablePattern (Ident "_" 563)) (SimpleRhs (672,8) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (675,1) [(Ident "isOr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (676,1) (Ident "isOr" 0) [(Equation (676,1) (FunLhs (Ident "isOr" 0) [(VariablePattern (Ident "e" 565))]) (SimpleRhs (676,10) (Case (Variable (QualIdent Nothing (Ident "e" 565))) [(Alt (677,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Or" 0)) [(VariablePattern (Ident "_" 568)),(VariablePattern (Ident "_" 569))]) (SimpleRhs (677,23) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (678,3) (VariablePattern (Ident "_" 572)) (SimpleRhs (678,8) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (681,1) [(Ident "isCase" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (682,1) (Ident "isCase" 0) [(Equation (682,1) (FunLhs (Ident "isCase" 0) [(VariablePattern (Ident "e" 574))]) (SimpleRhs (682,12) (Case (Variable (QualIdent Nothing (Ident "e" 574))) [(Alt (683,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(VariablePattern (Ident "_" 577)),(VariablePattern (Ident "_" 578)),(VariablePattern (Ident "_" 579))]) (SimpleRhs (683,17) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (684,3) (VariablePattern (Ident "_" 582)) (SimpleRhs (684,8) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (687,1) [(Ident "trExpr" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []) (VariableType (Ident "a" 0))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) []) (VariableType (Ident "a" 0))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ListType (VariableType (Ident "a" 0))) (VariableType (Ident "a" 0))))) (ArrowType (ArrowType (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []),(VariableType (Ident "a" 0))])) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0)))) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0)))) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "a" 0)))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "CaseType" 0)) []) (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ListType (VariableType (Ident "b" 0))) (VariableType (Ident "a" 0))))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "b" 0)))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (VariableType (Ident "a" 0)))))))))))) ,(FunctionDecl (695,1) (Ident "trExpr" 0) [(Equation (695,1) (FunLhs (Ident "trExpr" 0) [(VariablePattern (Ident "var" 584)),(VariablePattern (Ident "_" 585)),(VariablePattern (Ident "_" 586)),(VariablePattern (Ident "_" 587)),(VariablePattern (Ident "_" 588)),(VariablePattern (Ident "_" 589)),(VariablePattern (Ident "_" 590)),(VariablePattern (Ident "_" 591)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Var" 0)) [(VariablePattern (Ident "n" 584))]))]) (SimpleRhs (695,36) (Apply (Variable (QualIdent Nothing (Ident "var" 584))) (Variable (QualIdent Nothing (Ident "n" 584)))) [])),(Equation (697,1) (FunLhs (Ident "trExpr" 0) [(VariablePattern (Ident "_" 594)),(VariablePattern (Ident "lit" 593)),(VariablePattern (Ident "_" 595)),(VariablePattern (Ident "_" 596)),(VariablePattern (Ident "_" 597)),(VariablePattern (Ident "_" 598)),(VariablePattern (Ident "_" 599)),(VariablePattern (Ident "_" 600)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(VariablePattern (Ident "l" 593))]))]) (SimpleRhs (697,36) (Apply (Variable (QualIdent Nothing (Ident "lit" 593))) (Variable (QualIdent Nothing (Ident "l" 593)))) [])),(Equation (699,1) (FunLhs (Ident "trExpr" 0) [(VariablePattern (Ident "var" 602)),(VariablePattern (Ident "lit" 602)),(VariablePattern (Ident "comb" 602)),(VariablePattern (Ident "lt" 602)),(VariablePattern (Ident "fr" 602)),(VariablePattern (Ident "or" 602)),(VariablePattern (Ident "cas" 602)),(VariablePattern (Ident "branch" 602)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "ct" 602)),(VariablePattern (Ident "name" 602)),(VariablePattern (Ident "args" 602))]))]) (SimpleRhs (700,5) (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "comb" 602))) (Variable (QualIdent Nothing (Ident "ct" 602)))) (Variable (QualIdent Nothing (Ident "name" 602)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Variable (QualIdent Nothing (Ident "var" 602)))) (Variable (QualIdent Nothing (Ident "lit" 602)))) (Variable (QualIdent Nothing (Ident "comb" 602)))) (Variable (QualIdent Nothing (Ident "lt" 602)))) (Variable (QualIdent Nothing (Ident "fr" 602)))) (Variable (QualIdent Nothing (Ident "or" 602)))) (Variable (QualIdent Nothing (Ident "cas" 602)))) (Variable (QualIdent Nothing (Ident "branch" 602)))))) (Variable (QualIdent Nothing (Ident "args" 602)))))) [])),(Equation (702,1) (FunLhs (Ident "trExpr" 0) [(VariablePattern (Ident "var" 604)),(VariablePattern (Ident "lit" 604)),(VariablePattern (Ident "comb" 604)),(VariablePattern (Ident "lt" 604)),(VariablePattern (Ident "fr" 604)),(VariablePattern (Ident "or" 604)),(VariablePattern (Ident "cas" 604)),(VariablePattern (Ident "branch" 604)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Let" 0)) [(VariablePattern (Ident "bs" 604)),(VariablePattern (Ident "e" 604))]))]) (SimpleRhs (703,5) (Apply (Apply (Variable (QualIdent Nothing (Ident "lt" 604))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "n" 607)),(VariablePattern (Ident "exp" 607))])] (Tuple [(Variable (QualIdent Nothing (Ident "n" 607))),(Apply (Variable (QualIdent Nothing (Ident "f" 605))) (Variable (QualIdent Nothing (Ident "exp" 607))))])))) (Variable (QualIdent Nothing (Ident "bs" 604)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 605))) (Variable (QualIdent Nothing (Ident "e" 604)))))) [(PatternDecl (705,3) (VariablePattern (Ident "f" 605)) (SimpleRhs (705,7) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Variable (QualIdent Nothing (Ident "var" 604)))) (Variable (QualIdent Nothing (Ident "lit" 604)))) (Variable (QualIdent Nothing (Ident "comb" 604)))) (Variable (QualIdent Nothing (Ident "lt" 604)))) (Variable (QualIdent Nothing (Ident "fr" 604)))) (Variable (QualIdent Nothing (Ident "or" 604)))) (Variable (QualIdent Nothing (Ident "cas" 604)))) (Variable (QualIdent Nothing (Ident "branch" 604)))) []))])),(Equation (707,1) (FunLhs (Ident "trExpr" 0) [(VariablePattern (Ident "var" 608)),(VariablePattern (Ident "lit" 608)),(VariablePattern (Ident "comb" 608)),(VariablePattern (Ident "lt" 608)),(VariablePattern (Ident "fr" 608)),(VariablePattern (Ident "or" 608)),(VariablePattern (Ident "cas" 608)),(VariablePattern (Ident "branch" 608)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(VariablePattern (Ident "vs" 608)),(VariablePattern (Ident "e" 608))]))]) (SimpleRhs (708,5) (Apply (Apply (Variable (QualIdent Nothing (Ident "fr" 608))) (Variable (QualIdent Nothing (Ident "vs" 608)))) (Paren (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Variable (QualIdent Nothing (Ident "var" 608)))) (Variable (QualIdent Nothing (Ident "lit" 608)))) (Variable (QualIdent Nothing (Ident "comb" 608)))) (Variable (QualIdent Nothing (Ident "lt" 608)))) (Variable (QualIdent Nothing (Ident "fr" 608)))) (Variable (QualIdent Nothing (Ident "or" 608)))) (Variable (QualIdent Nothing (Ident "cas" 608)))) (Variable (QualIdent Nothing (Ident "branch" 608)))) (Variable (QualIdent Nothing (Ident "e" 608)))))) [])),(Equation (710,1) (FunLhs (Ident "trExpr" 0) [(VariablePattern (Ident "var" 610)),(VariablePattern (Ident "lit" 610)),(VariablePattern (Ident "comb" 610)),(VariablePattern (Ident "lt" 610)),(VariablePattern (Ident "fr" 610)),(VariablePattern (Ident "or" 610)),(VariablePattern (Ident "cas" 610)),(VariablePattern (Ident "branch" 610)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Or" 0)) [(VariablePattern (Ident "e1" 610)),(VariablePattern (Ident "e2" 610))]))]) (SimpleRhs (710,64) (Apply (Apply (Variable (QualIdent Nothing (Ident "or" 610))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 611))) (Variable (QualIdent Nothing (Ident "e1" 610)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 611))) (Variable (QualIdent Nothing (Ident "e2" 610)))))) [(PatternDecl (712,3) (VariablePattern (Ident "f" 611)) (SimpleRhs (712,7) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Variable (QualIdent Nothing (Ident "var" 610)))) (Variable (QualIdent Nothing (Ident "lit" 610)))) (Variable (QualIdent Nothing (Ident "comb" 610)))) (Variable (QualIdent Nothing (Ident "lt" 610)))) (Variable (QualIdent Nothing (Ident "fr" 610)))) (Variable (QualIdent Nothing (Ident "or" 610)))) (Variable (QualIdent Nothing (Ident "cas" 610)))) (Variable (QualIdent Nothing (Ident "branch" 610)))) []))])),(Equation (714,1) (FunLhs (Ident "trExpr" 0) [(VariablePattern (Ident "var" 613)),(VariablePattern (Ident "lit" 613)),(VariablePattern (Ident "comb" 613)),(VariablePattern (Ident "lt" 613)),(VariablePattern (Ident "fr" 613)),(VariablePattern (Ident "or" 613)),(VariablePattern (Ident "cas" 613)),(VariablePattern (Ident "branch" 613)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(VariablePattern (Ident "ct" 613)),(VariablePattern (Ident "e" 613)),(VariablePattern (Ident "bs" 613))]))]) (SimpleRhs (715,5) (Apply (Apply (Apply (Variable (QualIdent Nothing (Ident "cas" 613))) (Variable (QualIdent Nothing (Ident "ct" 613)))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 614))) (Variable (QualIdent Nothing (Ident "e" 613)))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Branch" 0)) [(VariablePattern (Ident "pat" 616)),(VariablePattern (Ident "exp" 616))]))] (Apply (Apply (Variable (QualIdent Nothing (Ident "branch" 613))) (Variable (QualIdent Nothing (Ident "pat" 616)))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 614))) (Variable (QualIdent Nothing (Ident "exp" 616))))))))) (Variable (QualIdent Nothing (Ident "bs" 613)))))) [(PatternDecl (717,3) (VariablePattern (Ident "f" 614)) (SimpleRhs (717,7) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Variable (QualIdent Nothing (Ident "var" 613)))) (Variable (QualIdent Nothing (Ident "lit" 613)))) (Variable (QualIdent Nothing (Ident "comb" 613)))) (Variable (QualIdent Nothing (Ident "lt" 613)))) (Variable (QualIdent Nothing (Ident "fr" 613)))) (Variable (QualIdent Nothing (Ident "or" 613)))) (Variable (QualIdent Nothing (Ident "cas" 613)))) (Variable (QualIdent Nothing (Ident "branch" 613)))) []))]))]) ,(TypeSig (722,1) [(Ident "updVars" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (723,1) (Ident "updVars" 0) [(Equation (723,1) (FunLhs (Ident "updVars" 0) [(VariablePattern (Ident "var" 617))]) (SimpleRhs (723,15) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Variable (QualIdent Nothing (Ident "var" 617)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0)))) []))]) ,(TypeSig (726,1) [(Ident "updLiterals" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (727,1) (Ident "updLiterals" 0) [(Equation (727,1) (FunLhs (Ident "updLiterals" 0) [(VariablePattern (Ident "lit" 619))]) (SimpleRhs (727,19) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Variable (QualIdent Nothing (Ident "lit" 619)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0)))) []))]) ,(TypeSig (730,1) [(Ident "updCombs" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "CombType" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (731,1) (Ident "updCombs" 0) [(Equation (731,1) (FunLhs (Ident "updCombs" 0) [(VariablePattern (Ident "comb" 621))]) (SimpleRhs (731,17) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Variable (QualIdent Nothing (Ident "comb" 621)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0)))) []))]) ,(TypeSig (734,1) [(Ident "updLets" 0)] (ArrowType (ArrowType (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (735,1) (Ident "updLets" 0) [(Equation (735,1) (FunLhs (Ident "updLets" 0) [(VariablePattern (Ident "lt" 623))]) (SimpleRhs (735,14) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Variable (QualIdent Nothing (Ident "lt" 623)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0)))) []))]) ,(TypeSig (738,1) [(Ident "updFrees" 0)] (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (739,1) (Ident "updFrees" 0) [(Equation (739,1) (FunLhs (Ident "updFrees" 0) [(VariablePattern (Ident "fr" 625))]) (SimpleRhs (739,15) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Variable (QualIdent Nothing (Ident "fr" 625)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0)))) []))]) ,(TypeSig (742,1) [(Ident "updOrs" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (743,1) (Ident "updOrs" 0) [(Equation (743,1) (FunLhs (Ident "updOrs" 0) [(VariablePattern (Ident "or" 627))]) (SimpleRhs (743,13) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Variable (QualIdent Nothing (Ident "or" 627)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0)))) []))]) ,(TypeSig (746,1) [(Ident "updCases" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "CaseType" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (747,1) (Ident "updCases" 0) [(Equation (747,1) (FunLhs (Ident "updCases" 0) [(VariablePattern (Ident "cas" 629))]) (SimpleRhs (747,16) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Variable (QualIdent Nothing (Ident "cas" 629)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0)))) []))]) ,(TypeSig (750,1) [(Ident "updBranches" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])))) ,(FunctionDecl (751,1) (Ident "updBranches" 0) [(Equation (751,1) (FunLhs (Ident "updBranches" 0) [(VariablePattern (Ident "branch" 631))]) (SimpleRhs (751,22) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Variable (QualIdent Nothing (Ident "branch" 631)))) []))]) ,(TypeSig (756,1) [(Ident "isFuncCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (757,1) (Ident "isFuncCall" 0) [(Equation (757,1) (FunLhs (Ident "isFuncCall" 0) [(VariablePattern (Ident "e" 633))]) (SimpleRhs (757,16) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isComb" 0))) (Variable (QualIdent Nothing (Ident "e" 633)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isCombTypeFuncCall" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "combType" 0))) (Variable (QualIdent Nothing (Ident "e" 633))))))) []))]) ,(TypeSig (760,1) [(Ident "isFuncPartCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (761,1) (Ident "isFuncPartCall" 0) [(Equation (761,1) (FunLhs (Ident "isFuncPartCall" 0) [(VariablePattern (Ident "e" 635))]) (SimpleRhs (761,20) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isComb" 0))) (Variable (QualIdent Nothing (Ident "e" 635)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isCombTypeFuncPartCall" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "combType" 0))) (Variable (QualIdent Nothing (Ident "e" 635))))))) []))]) ,(TypeSig (764,1) [(Ident "isConsCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (765,1) (Ident "isConsCall" 0) [(Equation (765,1) (FunLhs (Ident "isConsCall" 0) [(VariablePattern (Ident "e" 637))]) (SimpleRhs (765,16) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isComb" 0))) (Variable (QualIdent Nothing (Ident "e" 637)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isCombTypeConsCall" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "combType" 0))) (Variable (QualIdent Nothing (Ident "e" 637))))))) []))]) ,(TypeSig (768,1) [(Ident "isConsPartCall" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (769,1) (Ident "isConsPartCall" 0) [(Equation (769,1) (FunLhs (Ident "isConsPartCall" 0) [(VariablePattern (Ident "e" 639))]) (SimpleRhs (769,20) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isComb" 0))) (Variable (QualIdent Nothing (Ident "e" 639)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isCombTypeConsPartCall" 0))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "combType" 0))) (Variable (QualIdent Nothing (Ident "e" 639))))))) []))]) ,(TypeSig (772,1) [(Ident "isGround" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (773,1) (Ident "isGround" 0) [(Equation (773,1) (FunLhs (Ident "isGround" 0) [(VariablePattern (Ident "exp" 641))]) (SimpleRhs (774,5) (Case (Variable (QualIdent Nothing (Ident "exp" 641))) [(Alt (775,7) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "ConsCall" 0)) []),(VariablePattern (Ident "_" 644)),(VariablePattern (Ident "args" 643))]) (SimpleRhs (775,31) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "all" 0))) (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isGround" 0)))) (Variable (QualIdent Nothing (Ident "args" 643)))) [])),(Alt (776,7) (VariablePattern (Ident "_" 647)) (SimpleRhs (776,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isLit" 0))) (Variable (QualIdent Nothing (Ident "exp" 641)))) []))]) []))]) ,(TypeSig (779,1) [(Ident "allVars" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (780,1) (Ident "allVars" 0) [(Equation (780,1) (FunLhs (Ident "allVars" 0) [(VariablePattern (Ident "e" 649))]) (SimpleRhs (780,13) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent Nothing (Ident ":" 0)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "const" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))))) (Variable (QualIdent Nothing (Ident "comb" 650)))) (Variable (QualIdent Nothing (Ident "lt" 650)))) (Variable (QualIdent Nothing (Ident "fr" 650)))) (Variable (QualIdent (Just "Prelude") (Ident "." 0)))) (Variable (QualIdent Nothing (Ident "cas" 650)))) (Variable (QualIdent Nothing (Ident "branch" 650)))) (Variable (QualIdent Nothing (Ident "e" 649)))) (List [])) [(FunctionDecl (782,3) (Ident "comb" 650) [(Equation (782,3) (FunLhs (Ident "comb" 650) [(VariablePattern (Ident "_" 652)),(VariablePattern (Ident "_" 653))]) (SimpleRhs (782,14) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "Prelude") (Ident "." 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]),(FunctionDecl (783,3) (Ident "lt" 650) [(Equation (783,3) (FunLhs (Ident "lt" 650) [(VariablePattern (Ident "bs" 655)),(VariablePattern (Ident "exp" 655))]) (SimpleRhs (783,15) (InfixApply (Variable (QualIdent Nothing (Ident "exp" 655))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "Prelude") (Ident "." 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "n" 657)),(VariablePattern (Ident "ns" 657))])] (InfixApply (LeftSection (Variable (QualIdent Nothing (Ident "n" 657))) (InfixConstr (QualIdent Nothing (Ident ":" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent Nothing (Ident "ns" 657))))))) (Variable (QualIdent Nothing (Ident "bs" 655))))))) []))]),(FunctionDecl (784,3) (Ident "fr" 650) [(Equation (784,3) (FunLhs (Ident "fr" 650) [(VariablePattern (Ident "vs" 658)),(VariablePattern (Ident "exp" 658))]) (SimpleRhs (784,15) (InfixApply (LeftSection (Variable (QualIdent Nothing (Ident "vs" 658))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent Nothing (Ident "exp" 658)))) []))]),(FunctionDecl (785,3) (Ident "cas" 650) [(Equation (785,3) (FunLhs (Ident "cas" 650) [(VariablePattern (Ident "_" 661)),(VariablePattern (Ident "exp" 660)),(VariablePattern (Ident "bs" 660))]) (SimpleRhs (785,18) (InfixApply (Variable (QualIdent Nothing (Ident "exp" 660))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "Prelude") (Ident "." 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "bs" 660))))) []))]),(FunctionDecl (786,3) (Ident "branch" 650) [(Equation (786,3) (FunLhs (Ident "branch" 650) [(VariablePattern (Ident "pat" 663)),(VariablePattern (Ident "exp" 663))]) (SimpleRhs (786,20) (InfixApply (LeftSection (Paren (Apply (Variable (QualIdent Nothing (Ident "args" 650))) (Variable (QualIdent Nothing (Ident "pat" 663))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent Nothing (Ident "exp" 663)))) []))]),(FunctionDecl (787,3) (Ident "args" 650) [(Equation (787,3) (FunLhs (Ident "args" 650) [(VariablePattern (Ident "pat" 665))]) (GuardedRhs [(CondExpr (787,12) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "isConsPattern" 0))) (Variable (QualIdent Nothing (Ident "pat" 665)))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "patArgs" 0))) (Variable (QualIdent Nothing (Ident "pat" 665))))),(CondExpr (788,12) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (List []))] []))])]))]) ,(TypeSig (791,1) [(Ident "rnmAllVars" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []),(ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])])) ,(FunctionDecl (792,1) (Ident "rnmAllVars" 0) [(Equation (792,1) (FunLhs (Ident "rnmAllVars" 0) [(VariablePattern (Ident "f" 667))]) (SimpleRhs (792,16) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Paren (InfixApply (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent Nothing (Ident "f" 667)))))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0)))) (Variable (QualIdent Nothing (Ident "lt" 668)))) (Paren (InfixApply (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "f" 667))))))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Variable (QualIdent Nothing (Ident "branch" 668)))) [(PatternDecl (794,4) (VariablePattern (Ident "lt" 668)) (SimpleRhs (794,9) (InfixApply (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "n" 670)),(VariablePattern (Ident "exp" 670))])] (Tuple [(Apply (Variable (QualIdent Nothing (Ident "f" 667))) (Variable (QualIdent Nothing (Ident "n" 670)))),(Variable (QualIdent Nothing (Ident "exp" 670)))]))))) [])),(PatternDecl (795,4) (VariablePattern (Ident "branch" 668)) (SimpleRhs (795,13) (InfixApply (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updPatArgs" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "f" 667))))))) []))]))]) ,(TypeSig (798,1) [(Ident "updQNames" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []),(ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])])) ,(FunctionDecl (799,1) (Ident "updQNames" 0) [(Equation (799,1) (FunLhs (Ident "updQNames" 0) [(VariablePattern (Ident "f" 672))]) (SimpleRhs (799,15) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trExpr" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) (Variable (QualIdent Nothing (Ident "comb" 673)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Let" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Free" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Or" 0)))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Case" 0)))) (Paren (InfixApply (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updPatCons" 0))) (Variable (QualIdent Nothing (Ident "f" 672))))))) [(FunctionDecl (801,3) (Ident "comb" 673) [(Equation (801,3) (FunLhs (Ident "comb" 673) [(VariablePattern (Ident "ct" 674)),(VariablePattern (Ident "name" 674)),(VariablePattern (Ident "args" 674))]) (SimpleRhs (801,23) (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0))) (Variable (QualIdent Nothing (Ident "ct" 674)))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 672))) (Variable (QualIdent Nothing (Ident "name" 674)))))) (Variable (QualIdent Nothing (Ident "args" 674)))) []))])]))]) ,(TypeSig (806,1) [(Ident "trBranch" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (VariableType (Ident "a" 0)))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []) (VariableType (Ident "a" 0))))) ,(FunctionDecl (807,1) (Ident "trBranch" 0) [(Equation (807,1) (FunLhs (Ident "trBranch" 0) [(VariablePattern (Ident "branch" 676)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Branch" 0)) [(VariablePattern (Ident "pat" 676)),(VariablePattern (Ident "exp" 676))]))]) (SimpleRhs (807,36) (Apply (Apply (Variable (QualIdent Nothing (Ident "branch" 676))) (Variable (QualIdent Nothing (Ident "pat" 676)))) (Variable (QualIdent Nothing (Ident "exp" 676)))) []))]) ,(TypeSig (812,1) [(Ident "branchPattern" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []))) ,(FunctionDecl (813,1) (Ident "branchPattern" 0) [(Equation (813,1) (FunLhs (Ident "branchPattern" 0) []) (SimpleRhs (813,17) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trBranch" 0))) (Paren (Lambda [(VariablePattern (Ident "pat" 680)),(VariablePattern (Ident "_" 681))] (Variable (QualIdent Nothing (Ident "pat" 680)))))) []))]) ,(TypeSig (816,1) [(Ident "branchExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) ,(FunctionDecl (817,1) (Ident "branchExpr" 0) [(Equation (817,1) (FunLhs (Ident "branchExpr" 0) []) (SimpleRhs (817,14) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trBranch" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 685)),(VariablePattern (Ident "e" 684))] (Variable (QualIdent Nothing (Ident "e" 684)))))) []))]) ,(TypeSig (822,1) [(Ident "updBranch" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []))))) ,(FunctionDecl (823,1) (Ident "updBranch" 0) [(Equation (823,1) (FunLhs (Ident "updBranch" 0) [(VariablePattern (Ident "fp" 686)),(VariablePattern (Ident "fe" 686))]) (SimpleRhs (823,19) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trBranch" 0))) (Variable (QualIdent Nothing (Ident "branch" 687)))) [(FunctionDecl (825,3) (Ident "branch" 687) [(Equation (825,3) (FunLhs (Ident "branch" 687) [(VariablePattern (Ident "pat" 688)),(VariablePattern (Ident "exp" 688))]) (SimpleRhs (825,20) (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Branch" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fp" 686))) (Variable (QualIdent Nothing (Ident "pat" 688)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fe" 686))) (Variable (QualIdent Nothing (Ident "exp" 688)))))) []))])]))]) ,(TypeSig (828,1) [(Ident "updBranchPattern" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) [])])) ,(FunctionDecl (829,1) (Ident "updBranchPattern" 0) [(Equation (829,1) (FunLhs (Ident "updBranchPattern" 0) [(VariablePattern (Ident "f" 690))]) (SimpleRhs (829,22) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updBranch" 0))) (Variable (QualIdent Nothing (Ident "f" 690)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (832,1) [(Ident "updBranchExpr" 0)] (ConstructorType (QualIdent Nothing (Ident "Update" 0)) [(ConstructorType (QualIdent Nothing (Ident "BranchExpr" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])])) ,(FunctionDecl (833,1) (Ident "updBranchExpr" 0) [(Equation (833,1) (FunLhs (Ident "updBranchExpr" 0) []) (SimpleRhs (833,17) (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updBranch" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (838,1) [(Ident "trPattern" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])) (VariableType (Ident "a" 0)))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) []) (VariableType (Ident "a" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (VariableType (Ident "a" 0)))))) ,(FunctionDecl (839,1) (Ident "trPattern" 0) [(Equation (839,1) (FunLhs (Ident "trPattern" 0) [(VariablePattern (Ident "pattern" 694)),(VariablePattern (Ident "_" 695)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Pattern" 0)) [(VariablePattern (Ident "name" 694)),(VariablePattern (Ident "args" 694))]))]) (SimpleRhs (839,43) (Apply (Apply (Variable (QualIdent Nothing (Ident "pattern" 694))) (Variable (QualIdent Nothing (Ident "name" 694)))) (Variable (QualIdent Nothing (Ident "args" 694)))) [])),(Equation (840,1) (FunLhs (Ident "trPattern" 0) [(VariablePattern (Ident "_" 698)),(VariablePattern (Ident "lpattern" 697)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "LPattern" 0)) [(VariablePattern (Ident "l" 697))]))]) (SimpleRhs (840,37) (Apply (Variable (QualIdent Nothing (Ident "lpattern" 697))) (Variable (QualIdent Nothing (Ident "l" 697)))) []))]) ,(TypeSig (845,1) [(Ident "patCons" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []))) ,(FunctionDecl (846,1) (Ident "patCons" 0) [(Equation (846,1) (FunLhs (Ident "patCons" 0) []) (SimpleRhs (846,11) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trPattern" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 702)),(VariablePattern (Ident "_" 703))] (Variable (QualIdent Nothing (Ident "name" 702)))))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) []))]) ,(TypeSig (849,1) [(Ident "patArgs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])))) ,(FunctionDecl (850,1) (Ident "patArgs" 0) [(Equation (850,1) (FunLhs (Ident "patArgs" 0) []) (SimpleRhs (850,11) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trPattern" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 707)),(VariablePattern (Ident "args" 706))] (Variable (QualIdent Nothing (Ident "args" 706)))))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) []))]) ,(TypeSig (853,1) [(Ident "patLiteral" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) []))) ,(FunctionDecl (854,1) (Ident "patLiteral" 0) [(Equation (854,1) (FunLhs (Ident "patLiteral" 0) []) (SimpleRhs (854,14) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trPattern" 0))) (Variable (QualIdent (Just "Prelude") (Ident "failed" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (859,1) [(Ident "isConsPattern" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (860,1) (Ident "isConsPattern" 0) [(Equation (860,1) (FunLhs (Ident "isConsPattern" 0) []) (SimpleRhs (860,17) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trPattern" 0))) (Paren (Lambda [(VariablePattern (Ident "_" 713)),(VariablePattern (Ident "_" 714))] (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) (Paren (Lambda [(VariablePattern (Ident "_" 716))] (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) []))]) ,(TypeSig (865,1) [(Ident "updPattern" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])) (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []))) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) [])))))) ,(FunctionDecl (868,1) (Ident "updPattern" 0) [(Equation (868,1) (FunLhs (Ident "updPattern" 0) [(VariablePattern (Ident "fn" 717)),(VariablePattern (Ident "fa" 717)),(VariablePattern (Ident "fl" 717))]) (SimpleRhs (868,23) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trPattern" 0))) (Variable (QualIdent Nothing (Ident "pattern" 718)))) (Variable (QualIdent Nothing (Ident "lpattern" 718)))) [(FunctionDecl (870,3) (Ident "pattern" 718) [(Equation (870,3) (FunLhs (Ident "pattern" 718) [(VariablePattern (Ident "name" 719)),(VariablePattern (Ident "args" 719))]) (SimpleRhs (870,23) (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Pattern" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fn" 717))) (Variable (QualIdent Nothing (Ident "name" 719)))))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fa" 717))) (Variable (QualIdent Nothing (Ident "args" 719)))))) []))]),(FunctionDecl (871,3) (Ident "lpattern" 718) [(Equation (871,3) (FunLhs (Ident "lpattern" 718) [(VariablePattern (Ident "l" 721))]) (SimpleRhs (871,16) (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "LPattern" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "fl" 717))) (Variable (QualIdent Nothing (Ident "l" 721)))))) []))])]))]) ,(TypeSig (874,1) [(Ident "updPatCons" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "QName" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) [])))) ,(FunctionDecl (875,1) (Ident "updPatCons" 0) [(Equation (875,1) (FunLhs (Ident "updPatCons" 0) [(VariablePattern (Ident "f" 723))]) (SimpleRhs (875,16) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updPattern" 0))) (Variable (QualIdent Nothing (Ident "f" 723)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (878,1) [(Ident "updPatArgs" 0)] (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "VarIndex" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) [])))) ,(FunctionDecl (879,1) (Ident "updPatArgs" 0) [(Equation (879,1) (FunLhs (Ident "updPatArgs" 0) [(VariablePattern (Ident "f" 725))]) (SimpleRhs (879,16) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updPattern" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 725)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (882,1) [(Ident "updPatLiteral" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Literal" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) [])))) ,(FunctionDecl (883,1) (Ident "updPatLiteral" 0) [(Equation (883,1) (FunLhs (Ident "updPatLiteral" 0) [(VariablePattern (Ident "f" 727))]) (SimpleRhs (883,19) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "updPattern" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Variable (QualIdent Nothing (Ident "f" 727)))) []))]) ,(TypeSig (888,1) [(Ident "patExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Pattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []))) ,(FunctionDecl (889,1) (Ident "patExpr" 0) [(Equation (889,1) (FunLhs (Ident "patExpr" 0) []) (SimpleRhs (889,11) (Apply (Apply (Variable (QualIdent (Just "FlatCurryGoodies") (Ident "trPattern" 0))) (Paren (Lambda [(VariablePattern (Ident "name" 731))] (InfixApply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "ConsCall" 0)))) (Variable (QualIdent Nothing (Ident "name" 731)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Var" 0)))))))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Lit" 0)))) []))]) ]