packages feed

KiCS-0.9.1: src/lib/Curry/Module/FlatCurryGoodies.cy

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)))) []))])
]