Prog "FlatCurryGoodies" ["FlatCurry","Prelude"] [TypeSyn ("FlatCurryGoodies","Update") Public [0,1] (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0)))] [Func ("FlatCurryGoodies","trProg") 2 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TVar 0)))))) (FuncType (TCons ("FlatCurry","Prog") []) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Prog") [3,4,5,6,7]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4],Var 5],Var 6],Var 7])])),Func ("FlatCurryGoodies","progName") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trProg") [Comb (FuncPartCall 5) ("FlatCurryGoodies","progName._#lambda2") []])),Func ("FlatCurryGoodies","progName._#lambda2") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])))))) (Rule [1,2,3,4,5] (Var 1)),Func ("FlatCurryGoodies","progImports") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trProg") [Comb (FuncPartCall 5) ("FlatCurryGoodies","progImports._#lambda3") []])),Func ("FlatCurryGoodies","progImports._#lambda3") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))))) (Rule [1,2,3,4,5] (Var 2)),Func ("FlatCurryGoodies","progTypes") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trProg") [Comb (FuncPartCall 5) ("FlatCurryGoodies","progTypes._#lambda4") []])),Func ("FlatCurryGoodies","progTypes._#lambda4") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])))))) (Rule [1,2,3,4,5] (Var 3)),Func ("FlatCurryGoodies","progFuncs") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trProg") [Comb (FuncPartCall 5) ("FlatCurryGoodies","progFuncs._#lambda5") []])),Func ("FlatCurryGoodies","progFuncs._#lambda5") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])))))) (Rule [1,2,3,4,5] (Var 4)),Func ("FlatCurryGoodies","progOps") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trProg") [Comb (FuncPartCall 5) ("FlatCurryGoodies","progOps._#lambda6") []])),Func ("FlatCurryGoodies","progOps._#lambda6") 5 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []])))))) (Rule [1,2,3,4,5] (Var 5)),Func ("FlatCurryGoodies","updProg") 5 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))))))) (Rule [1,2,3,4,5] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trProg") [Comb (FuncPartCall 5) ("FlatCurryGoodies","updProg.prog.40") [Var 4,Var 2,Var 1,Var 5,Var 3]])),Func ("FlatCurryGoodies","updProg.prog.40") 10 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("FlatCurry","Prog") []))))))))))) (Rule [1,2,3,4,5,6,7,8,9,10] (Comb ConsCall ("FlatCurry","Prog") [Comb FuncCall ("Prelude","apply") [Var 3,Var 6],Comb FuncCall ("Prelude","apply") [Var 2,Var 7],Comb FuncCall ("Prelude","apply") [Var 5,Var 8],Comb FuncCall ("Prelude","apply") [Var 1,Var 9],Comb FuncCall ("Prelude","apply") [Var 4,Var 10]])),Func ("FlatCurryGoodies","updProgName") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updProg") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updProgImports") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updProg") [Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updProgTypes") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updProg") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updProgFuncs") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updProg") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updProgOps") 0 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","updProg") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","allVarsInProg") 0 Public (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("Prelude","concatMap") [Comb FuncCall ("FlatCurryGoodies","allVarsInFunc") []],Comb FuncCall ("FlatCurryGoodies","progFuncs") []])),Func ("FlatCurryGoodies","updProgExps") 0 Public (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("FlatCurryGoodies","updProgFuncs") [],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 2) ("Prelude","map") [],Comb FuncCall ("FlatCurryGoodies","updFuncBody") []]])),Func ("FlatCurryGoodies","rnmAllVarsInProg") 0 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("FlatCurryGoodies","updProgFuncs") [],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 2) ("Prelude","map") [],Comb FuncCall ("FlatCurryGoodies","rnmAllVarsInFunc") []]])),Func ("FlatCurryGoodies","updQNamesInProg") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updProg") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updQNamesInType") [Var 1]],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updQNamesInFunc") [Var 1]],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updOpName") [Var 1]]])),Func ("FlatCurryGoodies","rnmProg") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updProgName") [Comb (FuncPartCall 1) ("Prelude","const") [Var 1]],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updQNamesInProg") [Comb (FuncPartCall 1) ("FlatCurryGoodies","rnmProg.rnm.62") [Var 1,Var 2]],Var 2]])),Func ("FlatCurryGoodies","rnmProg.rnm.62") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","Prog") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","(,)") [4,5]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progName") [],Var 2]]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Var 1,Var 5]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Var 4,Var 5]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("FlatCurryGoodies","trType") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TVar 0))))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TVar 0))))) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Type") [4,5,6,7]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 5],Var 6],Var 7]),Branch (Pattern ("FlatCurry","TypeSyn") [8,9,10,11]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 8],Var 9],Var 10],Var 11])])),Func ("FlatCurryGoodies","typeName") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","typeName._#lambda7") [],Comb (FuncPartCall 4) ("FlatCurryGoodies","typeName._#lambda8") []])),Func ("FlatCurryGoodies","typeName._#lambda7") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))))) (Rule [1,2,3,4] (Var 1)),Func ("FlatCurryGoodies","typeName._#lambda8") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))))) (Rule [1,2,3,4] (Var 1)),Func ("FlatCurryGoodies","typeVisibility") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","Visibility") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","typeVisibility._#lambda9") [],Comb (FuncPartCall 4) ("FlatCurryGoodies","typeVisibility._#lambda10") []])),Func ("FlatCurryGoodies","typeVisibility._#lambda9") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("FlatCurry","Visibility") []))))) (Rule [1,2,3,4] (Var 2)),Func ("FlatCurryGoodies","typeVisibility._#lambda10") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","Visibility") []))))) (Rule [1,2,3,4] (Var 2)),Func ("FlatCurryGoodies","typeParams") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","typeParams._#lambda11") [],Comb (FuncPartCall 4) ("FlatCurryGoodies","typeParams._#lambda12") []])),Func ("FlatCurryGoodies","typeParams._#lambda11") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))))) (Rule [1,2,3,4] (Var 3)),Func ("FlatCurryGoodies","typeParams._#lambda12") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))))) (Rule [1,2,3,4] (Var 3)),Func ("FlatCurryGoodies","typeConsDecls") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","typeConsDecls._#lambda13") [],Comb FuncCall ("Prelude","failed") []])),Func ("FlatCurryGoodies","typeConsDecls._#lambda13") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]))))) (Rule [1,2,3,4] (Var 4)),Func ("FlatCurryGoodies","typeSyn") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb FuncCall ("Prelude","failed") [],Comb (FuncPartCall 4) ("FlatCurryGoodies","typeSyn._#lambda14") []])),Func ("FlatCurryGoodies","typeSyn._#lambda14") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))))) (Rule [1,2,3,4] (Var 4)),Func ("FlatCurryGoodies","isTypeSyn") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","isTypeSyn._#lambda15") [],Comb (FuncPartCall 4) ("FlatCurryGoodies","isTypeSyn._#lambda16") []])),Func ("FlatCurryGoodies","isTypeSyn._#lambda15") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isTypeSyn._#lambda16") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","isDataTypeDecl") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","isDataTypeDecl._#lambda17") [],Comb (FuncPartCall 4) ("FlatCurryGoodies","isDataTypeDecl._#lambda18") []])),Func ("FlatCurryGoodies","isDataTypeDecl._#lambda17") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","null") [Var 4]])),Func ("FlatCurryGoodies","isDataTypeDecl._#lambda18") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isExternalType") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","isExternalType._#lambda19") [],Comb (FuncPartCall 4) ("FlatCurryGoodies","isExternalType._#lambda20") []])),Func ("FlatCurryGoodies","isExternalType._#lambda19") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","null") [Var 4])),Func ("FlatCurryGoodies","isExternalType._#lambda20") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","updType") 5 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []])) (FuncType (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))))))) (Rule [1,2,3,4,5] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("FlatCurryGoodies","updType.typ.148") [Var 4,Var 1,Var 3,Var 2],Comb (FuncPartCall 4) ("FlatCurryGoodies","updType.typesyn.148") [Var 1,Var 3,Var 5,Var 2]])),Func ("FlatCurryGoodies","updType.typ.148") 8 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("FlatCurry","TypeDecl") []))))))))) (Rule [1,2,3,4,5,6,7,8] (Comb ConsCall ("FlatCurry","Type") [Comb FuncCall ("Prelude","apply") [Var 2,Var 5],Comb FuncCall ("Prelude","apply") [Var 4,Var 6],Comb FuncCall ("Prelude","apply") [Var 3,Var 7],Comb FuncCall ("Prelude","apply") [Var 1,Var 8]])),Func ("FlatCurryGoodies","updType.typesyn.148") 8 Private (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeDecl") []))))))))) (Rule [1,2,3,4,5,6,7,8] (Comb ConsCall ("FlatCurry","TypeSyn") [Comb FuncCall ("Prelude","apply") [Var 1,Var 5],Comb FuncCall ("Prelude","apply") [Var 4,Var 6],Comb FuncCall ("Prelude","apply") [Var 2,Var 7],Comb FuncCall ("Prelude","apply") [Var 3,Var 8]])),Func ("FlatCurryGoodies","updTypeName") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updType") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updTypeVisibility") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updType") [Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updTypeParams") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updType") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updTypeConsDecls") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updType") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updTypeSynonym") 0 Public (FuncType (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","updType") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updQNamesInType") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updType") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updQNamesInConsDecl") [Var 1]],Comb FuncCall ("FlatCurryGoodies","updQNamesInTypeExpr") [Var 1]])),Func ("FlatCurryGoodies","trCons") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TVar 0))))) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Cons") [3,4,5,6]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4],Var 5],Var 6])])),Func ("FlatCurryGoodies","consName") 0 Public (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCons") [Comb (FuncPartCall 4) ("FlatCurryGoodies","consName._#lambda21") []])),Func ("FlatCurryGoodies","consName._#lambda21") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))))) (Rule [1,2,3,4] (Var 1)),Func ("FlatCurryGoodies","consArity") 0 Public (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("Prelude","Int") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCons") [Comb (FuncPartCall 4) ("FlatCurryGoodies","consArity._#lambda22") []])),Func ("FlatCurryGoodies","consArity._#lambda22") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","Int") []))))) (Rule [1,2,3,4] (Var 2)),Func ("FlatCurryGoodies","consVisibility") 0 Public (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","Visibility") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCons") [Comb (FuncPartCall 4) ("FlatCurryGoodies","consVisibility._#lambda23") []])),Func ("FlatCurryGoodies","consVisibility._#lambda23") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("FlatCurry","Visibility") []))))) (Rule [1,2,3,4] (Var 3)),Func ("FlatCurryGoodies","consArgs") 0 Public (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCons") [Comb (FuncPartCall 4) ("FlatCurryGoodies","consArgs._#lambda24") []])),Func ("FlatCurryGoodies","consArgs._#lambda24") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]))))) (Rule [1,2,3,4] (Var 4)),Func ("FlatCurryGoodies","updCons") 4 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") [])))))) (Rule [1,2,3,4] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCons") [Comb (FuncPartCall 4) ("FlatCurryGoodies","updCons.cons.192") [Var 2,Var 4,Var 1,Var 3]])),Func ("FlatCurryGoodies","updCons.cons.192") 8 Private (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("FlatCurry","ConsDecl") []))))))))) (Rule [1,2,3,4,5,6,7,8] (Comb ConsCall ("FlatCurry","Cons") [Comb FuncCall ("Prelude","apply") [Var 3,Var 5],Comb FuncCall ("Prelude","apply") [Var 1,Var 6],Comb FuncCall ("Prelude","apply") [Var 4,Var 7],Comb FuncCall ("Prelude","apply") [Var 2,Var 8]])),Func ("FlatCurryGoodies","updConsName") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updCons") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updConsArity") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updCons") [Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updConsVisibility") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updCons") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updConsArgs") 0 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","updCons") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updQNamesInConsDecl") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updCons") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updQNamesInTypeExpr") [Var 1]]])),Func ("FlatCurryGoodies","tVarIndex") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","TVar") [2]) (Var 2)])),Func ("FlatCurryGoodies","domain") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","FuncType") [2,3]) (Var 2)])),Func ("FlatCurryGoodies","range") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","FuncType") [2,3]) (Var 3)])),Func ("FlatCurryGoodies","tConsName") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","TCons") [2,3]) (Var 2)])),Func ("FlatCurryGoodies","tConsArgs") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","TCons") [2,3]) (Var 3)])),Func ("FlatCurryGoodies","trTypeExpr") 4 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0))) (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TVar 0))))) (Rule [1,2,3,4] (Case Flex (Var 4) [Branch (Pattern ("FlatCurry","TVar") [5]) (Comb FuncCall ("Prelude","apply") [Var 1,Var 5]),Branch (Pattern ("FlatCurry","TCons") [6,7]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 6],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Var 1,Var 2,Var 3],Var 7]]),Branch (Pattern ("FlatCurry","FuncType") [8,9]) (Let [(10,Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Var 1,Var 2,Var 3])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Comb FuncCall ("Prelude","apply") [Var 10,Var 8]],Comb FuncCall ("Prelude","apply") [Var 10,Var 9]]))])),Func ("FlatCurryGoodies","isTVar") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 1) ("FlatCurryGoodies","isTVar._#lambda25") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","isTVar._#lambda26") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","isTVar._#lambda27") []])),Func ("FlatCurryGoodies","isTVar._#lambda25") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","isTVar._#lambda26") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isTVar._#lambda27") 2 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isTCons") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 1) ("FlatCurryGoodies","isTCons._#lambda28") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","isTCons._#lambda29") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","isTCons._#lambda30") []])),Func ("FlatCurryGoodies","isTCons._#lambda28") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isTCons._#lambda29") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","isTCons._#lambda30") 2 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isFuncType") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 1) ("FlatCurryGoodies","isFuncType._#lambda31") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","isFuncType._#lambda32") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","isFuncType._#lambda33") []])),Func ("FlatCurryGoodies","isFuncType._#lambda31") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isFuncType._#lambda32") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isFuncType._#lambda33") 2 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","updTVars") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","TypeExpr") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Var 1,Comb (ConsPartCall 2) ("FlatCurry","TCons") [],Comb (ConsPartCall 2) ("FlatCurry","FuncType") []])),Func ("FlatCurryGoodies","updTCons") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (ConsPartCall 1) ("FlatCurry","TVar") [],Var 1,Comb (ConsPartCall 2) ("FlatCurry","FuncType") []])),Func ("FlatCurryGoodies","updFuncTypes") 0 Public (FuncType (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [] (Comb (FuncPartCall 2) ("FlatCurryGoodies","trTypeExpr") [Comb (ConsPartCall 1) ("FlatCurry","TVar") [],Comb (ConsPartCall 2) ("FlatCurry","TCons") []])),Func ("FlatCurryGoodies","argTypes") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","TVar") [2]) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("FlatCurry","TCons") [3,4]) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("FlatCurry","FuncType") [5,6]) (Comb ConsCall ("Prelude",":") [Var 5,Comb FuncCall ("FlatCurryGoodies","argTypes") [Var 6]])])),Func ("FlatCurryGoodies","resultType") 1 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","TVar") [2]) (Comb ConsCall ("FlatCurry","TVar") [Var 2]),Branch (Pattern ("FlatCurry","TCons") [3,4]) (Comb ConsCall ("FlatCurry","TCons") [Var 3,Var 4]),Branch (Pattern ("FlatCurry","FuncType") [5,6]) (Comb FuncCall ("FlatCurryGoodies","resultType") [Var 6])])),Func ("FlatCurryGoodies","allVarsInTypeExpr") 0 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (ConsPartCall 2) ("Prelude",":") [],Comb ConsCall ("Prelude","[]") []],Comb (FuncPartCall 1) ("Prelude","const") [Comb (FuncPartCall 1) ("Prelude","concat") []],Comb (FuncPartCall 2) ("Prelude","++") []])),Func ("FlatCurryGoodies","rnmAllVarsInTypeExpr") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updTVars") [Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("FlatCurry","TVar") [],Var 1]])),Func ("FlatCurryGoodies","updQNamesInTypeExpr") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updTCons") [Comb (FuncPartCall 2) ("FlatCurryGoodies","updQNamesInTypeExpr._#lambda34") [Var 1]])),Func ("FlatCurryGoodies","updQNamesInTypeExpr._#lambda34") 3 Private (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("FlatCurry","TypeExpr") [])))) (Rule [1,2,3] (Comb ConsCall ("FlatCurry","TCons") [Comb FuncCall ("Prelude","apply") [Var 1,Var 2],Var 3])),Func ("FlatCurryGoodies","trOp") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (TVar 0)))) (FuncType (TCons ("FlatCurry","OpDecl") []) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Op") [3,4,5]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4],Var 5])])),Func ("FlatCurryGoodies","opName") 0 Public (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trOp") [Comb (FuncPartCall 3) ("FlatCurryGoodies","opName._#lambda35") []])),Func ("FlatCurryGoodies","opName._#lambda35") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1,2,3] (Var 1)),Func ("FlatCurryGoodies","opFixity") 0 Public (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","Fixity") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trOp") [Comb (FuncPartCall 3) ("FlatCurryGoodies","opFixity._#lambda36") []])),Func ("FlatCurryGoodies","opFixity._#lambda36") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","Fixity") [])))) (Rule [1,2,3] (Var 2)),Func ("FlatCurryGoodies","opPrecedence") 0 Public (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("Prelude","Int") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trOp") [Comb (FuncPartCall 3) ("FlatCurryGoodies","opPrecedence._#lambda37") []])),Func ("FlatCurryGoodies","opPrecedence._#lambda37") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])))) (Rule [1,2,3] (Var 3)),Func ("FlatCurryGoodies","updOp") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("FlatCurry","Fixity") []) (TCons ("FlatCurry","Fixity") [])) (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") []))))) (Rule [1,2,3] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trOp") [Comb (FuncPartCall 3) ("FlatCurryGoodies","updOp.op.305") [Var 2,Var 1,Var 3]])),Func ("FlatCurryGoodies","updOp.op.305") 6 Private (FuncType (FuncType (TCons ("FlatCurry","Fixity") []) (TCons ("FlatCurry","Fixity") [])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","OpDecl") []))))))) (Rule [1,2,3,4,5,6] (Comb ConsCall ("FlatCurry","Op") [Comb FuncCall ("Prelude","apply") [Var 2,Var 4],Comb FuncCall ("Prelude","apply") [Var 1,Var 5],Comb FuncCall ("Prelude","apply") [Var 3,Var 6]])),Func ("FlatCurryGoodies","updOpName") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updOp") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updOpFixity") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Fixity") []) (TCons ("FlatCurry","Fixity") [])) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updOp") [Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updOpPrecedence") 0 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") []))) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","updOp") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","trFunc") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (TVar 0)))))) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Func") [3,4,5,6,7]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4],Var 5],Var 6],Var 7])])),Func ("FlatCurryGoodies","funcName") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trFunc") [Comb (FuncPartCall 5) ("FlatCurryGoodies","funcName._#lambda38") []])),Func ("FlatCurryGoodies","funcName._#lambda38") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))))) (Rule [1,2,3,4,5] (Var 1)),Func ("FlatCurryGoodies","funcArity") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","Int") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trFunc") [Comb (FuncPartCall 5) ("FlatCurryGoodies","funcArity._#lambda39") []])),Func ("FlatCurryGoodies","funcArity._#lambda39") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","Int") [])))))) (Rule [1,2,3,4,5] (Var 2)),Func ("FlatCurryGoodies","funcVisibility") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","Visibility") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trFunc") [Comb (FuncPartCall 5) ("FlatCurryGoodies","funcVisibility._#lambda40") []])),Func ("FlatCurryGoodies","funcVisibility._#lambda40") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Visibility") [])))))) (Rule [1,2,3,4,5] (Var 3)),Func ("FlatCurryGoodies","funcType") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","TypeExpr") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trFunc") [Comb (FuncPartCall 5) ("FlatCurryGoodies","funcType._#lambda41") []])),Func ("FlatCurryGoodies","funcType._#lambda41") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","TypeExpr") [])))))) (Rule [1,2,3,4,5] (Var 4)),Func ("FlatCurryGoodies","funcRule") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","Rule") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trFunc") [Comb (FuncPartCall 5) ("FlatCurryGoodies","funcRule._#lambda42") []])),Func ("FlatCurryGoodies","funcRule._#lambda42") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") [])))))) (Rule [1,2,3,4,5] (Var 5)),Func ("FlatCurryGoodies","updFunc") 5 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (FuncType (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))))))) (Rule [1,2,3,4,5] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trFunc") [Comb (FuncPartCall 5) ("FlatCurryGoodies","updFunc.func.352") [Var 2,Var 1,Var 5,Var 4,Var 3]])),Func ("FlatCurryGoodies","updFunc.func.352") 10 Private (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") [])) (FuncType (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","FuncDecl") []))))))))))) (Rule [1,2,3,4,5,6,7,8,9,10] (Comb ConsCall ("FlatCurry","Func") [Comb FuncCall ("Prelude","apply") [Var 2,Var 6],Comb FuncCall ("Prelude","apply") [Var 1,Var 7],Comb FuncCall ("Prelude","apply") [Var 5,Var 8],Comb FuncCall ("Prelude","apply") [Var 4,Var 9],Comb FuncCall ("Prelude","apply") [Var 3,Var 10]])),Func ("FlatCurryGoodies","updFuncName") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updFunc") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updFuncArity") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updFunc") [Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updFuncVisibility") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updFunc") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updFuncType") 1 Public (FuncType (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updFunc") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updFuncRule") 0 Public (FuncType (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","updFunc") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","isExternal") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","isRuleExternal") [],Comb FuncCall ("FlatCurryGoodies","funcRule") []])),Func ("FlatCurryGoodies","allVarsInFunc") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","allVarsInRule") [],Comb FuncCall ("FlatCurryGoodies","funcRule") []])),Func ("FlatCurryGoodies","funcArgs") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","ruleArgs") [],Comb FuncCall ("FlatCurryGoodies","funcRule") []])),Func ("FlatCurryGoodies","funcBody") 0 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","ruleBody") [],Comb FuncCall ("FlatCurryGoodies","funcRule") []])),Func ("FlatCurryGoodies","funcRHS") 1 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 1]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FlatCurryGoodies","funcRHS.orCase.374") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 1]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("FlatCurryGoodies","funcRHS.orCase.374") 1 Private (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Rigid (Comb FuncCall ("FlatCurryGoodies","isOr") [Var 1]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("FlatCurryGoodies","funcRHS.orCase.374") []],Comb FuncCall ("FlatCurryGoodies","orExps") [Var 1]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("FlatCurryGoodies","isCase") [Var 1]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("FlatCurryGoodies","funcRHS.orCase.374") []],Comb FuncCall ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","branchExpr") [],Comb FuncCall ("FlatCurryGoodies","caseBranches") [Var 1]]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("FlatCurryGoodies","rnmAllVarsInFunc") 0 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("FlatCurryGoodies","updFunc") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []],Comb (FuncPartCall 1) ("FlatCurryGoodies","rnmAllVarsInRule") []])),Func ("FlatCurryGoodies","updQNamesInFunc") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updFunc") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb FuncCall ("FlatCurryGoodies","updQNamesInTypeExpr") [Var 1],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updQNamesInRule") [],Var 1]])),Func ("FlatCurryGoodies","updFuncArgs") 0 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","updFuncRule") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","updRuleArgs") []])),Func ("FlatCurryGoodies","updFuncBody") 0 Public (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","updFuncRule") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","updRuleBody") []])),Func ("FlatCurryGoodies","trRule") 3 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TVar 0))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TVar 0)) (FuncType (TCons ("FlatCurry","Rule") []) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Rule") [4,5]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 5]),Branch (Pattern ("FlatCurry","External") [6]) (Comb FuncCall ("Prelude","apply") [Var 2,Var 6])])),Func ("FlatCurryGoodies","ruleArgs") 0 Public (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trRule") [Comb (FuncPartCall 2) ("FlatCurryGoodies","ruleArgs._#lambda43") [],Comb FuncCall ("Prelude","failed") []])),Func ("FlatCurryGoodies","ruleArgs._#lambda43") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Var 1)),Func ("FlatCurryGoodies","ruleBody") 0 Public (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trRule") [Comb (FuncPartCall 2) ("FlatCurryGoodies","ruleBody._#lambda44") [],Comb FuncCall ("Prelude","failed") []])),Func ("FlatCurryGoodies","ruleBody._#lambda44") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Var 2)),Func ("FlatCurryGoodies","ruleExtDecl") 0 Public (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trRule") [Comb FuncCall ("Prelude","failed") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","isRuleExternal") 0 Public (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trRule") [Comb (FuncPartCall 2) ("FlatCurryGoodies","isRuleExternal._#lambda45") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isRuleExternal._#lambda46") []])),Func ("FlatCurryGoodies","isRuleExternal._#lambda45") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isRuleExternal._#lambda46") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","updRule") 3 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))))) (Rule [1,2,3] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trRule") [Comb (FuncPartCall 2) ("FlatCurryGoodies","updRule.rule.409") [Var 1,Var 2],Comb (FuncPartCall 1) ("FlatCurryGoodies","updRule.ext.409") [Var 3]])),Func ("FlatCurryGoodies","updRule.rule.409") 4 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Rule") []))))) (Rule [1,2,3,4] (Comb ConsCall ("FlatCurry","Rule") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Comb FuncCall ("Prelude","apply") [Var 2,Var 4]])),Func ("FlatCurryGoodies","updRule.ext.409") 2 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("FlatCurry","Rule") []))) (Rule [1,2] (Comb ConsCall ("FlatCurry","External") [Comb FuncCall ("Prelude","apply") [Var 1,Var 2]])),Func ("FlatCurryGoodies","updRuleArgs") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updRule") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updRuleBody") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updRule") [Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updRuleExtDecl") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updRule") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1])),Func ("FlatCurryGoodies","allVarsInRule") 0 Public (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trRule") [Comb (FuncPartCall 2) ("FlatCurryGoodies","allVarsInRule._#lambda47") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","allVarsInRule._#lambda48") []])),Func ("FlatCurryGoodies","allVarsInRule._#lambda47") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","++") [Var 1,Comb FuncCall ("FlatCurryGoodies","allVars") [Var 2]])),Func ("FlatCurryGoodies","allVarsInRule._#lambda48") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TVar 1003])) (Rule [1] (Comb ConsCall ("Prelude","[]") [])),Func ("FlatCurryGoodies","rnmAllVarsInRule") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updRule") [Comb (FuncPartCall 1) ("Prelude","map") [Var 1],Comb FuncCall ("FlatCurryGoodies","rnmAllVars") [Var 1],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updQNamesInRule") 0 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("FlatCurryGoodies","updRuleBody") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","updQNames") []])),Func ("FlatCurryGoodies","trCombType") 5 Public (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (FuncType (TCons ("FlatCurry","CombType") []) (TVar 0)))))) (Rule [1,2,3,4,5] (Case Flex (Var 5) [Branch (Pattern ("FlatCurry","FuncCall") []) (Var 1),Branch (Pattern ("FlatCurry","FuncPartCall") [6]) (Comb FuncCall ("Prelude","apply") [Var 2,Var 6]),Branch (Pattern ("FlatCurry","ConsCall") []) (Var 3),Branch (Pattern ("FlatCurry","ConsPartCall") [7]) (Comb FuncCall ("Prelude","apply") [Var 4,Var 7])])),Func ("FlatCurryGoodies","isCombTypeFuncCall") 0 Public (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","True") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeFuncCall._#lambda49") [],Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeFuncCall._#lambda50") []])),Func ("FlatCurryGoodies","isCombTypeFuncCall._#lambda49") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isCombTypeFuncCall._#lambda50") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isCombTypeFuncPartCall") 0 Public (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeFuncPartCall._#lambda51") [],Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeFuncPartCall._#lambda52") []])),Func ("FlatCurryGoodies","isCombTypeFuncPartCall._#lambda51") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","isCombTypeFuncPartCall._#lambda52") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isCombTypeConsCall") 0 Public (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeConsCall._#lambda53") [],Comb ConsCall ("Prelude","True") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeConsCall._#lambda54") []])),Func ("FlatCurryGoodies","isCombTypeConsCall._#lambda53") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isCombTypeConsCall._#lambda54") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isCombTypeConsPartCall") 0 Public (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeConsPartCall._#lambda55") [],Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isCombTypeConsPartCall._#lambda56") []])),Func ("FlatCurryGoodies","isCombTypeConsPartCall._#lambda55") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","isCombTypeConsPartCall._#lambda56") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","missingArgs") 0 Public (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Int") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trCombType") [Lit (Intc 0),Comb (FuncPartCall 1) ("Prelude","id") [],Lit (Intc 0),Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","varNr") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Var") [2]) (Var 2)])),Func ("FlatCurryGoodies","literal") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Literal") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Lit") [2]) (Var 2)])),Func ("FlatCurryGoodies","combType") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","CombType") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Comb") [2,3,4]) (Var 2)])),Func ("FlatCurryGoodies","combName") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Comb") [2,3,4]) (Var 3)])),Func ("FlatCurryGoodies","combArgs") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Comb") [2,3,4]) (Var 4)])),Func ("FlatCurryGoodies","missingCombArgs") 0 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Int") [])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("FlatCurryGoodies","missingArgs") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","combType") []])),Func ("FlatCurryGoodies","letBinds") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Let") [2,3]) (Var 2)])),Func ("FlatCurryGoodies","letBody") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Let") [2,3]) (Var 3)])),Func ("FlatCurryGoodies","freeVars") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Free") [2,3]) (Var 2)])),Func ("FlatCurryGoodies","freeExpr") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Free") [2,3]) (Var 3)])),Func ("FlatCurryGoodies","orExps") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Or") [2,3]) (Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]])])),Func ("FlatCurryGoodies","caseType") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","CaseType") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Case") [2,3,4]) (Var 2)])),Func ("FlatCurryGoodies","caseExpr") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Case") [2,3,4]) (Var 3)])),Func ("FlatCurryGoodies","caseBranches") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","Case") [2,3,4]) (Var 4)])),Func ("FlatCurryGoodies","isVar") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Var") [2]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("FlatCurry","Lit") [3]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Comb") [4,5,6]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [7,8]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [9,10]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [11,12]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [13,14,15]) (Comb ConsCall ("Prelude","False") [])])),Func ("FlatCurryGoodies","isLit") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Lit") [2]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("FlatCurry","Var") [3]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Comb") [4,5,6]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [7,8]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [9,10]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [11,12]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [13,14,15]) (Comb ConsCall ("Prelude","False") [])])),Func ("FlatCurryGoodies","isComb") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Comb") [2,3,4]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("FlatCurry","Var") [5]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Lit") [6]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [7,8]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [9,10]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [11,12]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [13,14,15]) (Comb ConsCall ("Prelude","False") [])])),Func ("FlatCurryGoodies","isLet") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Let") [2,3]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("FlatCurry","Var") [4]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Lit") [5]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Comb") [6,7,8]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [9,10]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [11,12]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [13,14,15]) (Comb ConsCall ("Prelude","False") [])])),Func ("FlatCurryGoodies","isFree") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Free") [2,3]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("FlatCurry","Var") [4]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Lit") [5]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Comb") [6,7,8]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [9,10]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [11,12]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [13,14,15]) (Comb ConsCall ("Prelude","False") [])])),Func ("FlatCurryGoodies","isOr") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Or") [2,3]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("FlatCurry","Var") [4]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Lit") [5]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Comb") [6,7,8]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [9,10]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [11,12]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [13,14,15]) (Comb ConsCall ("Prelude","False") [])])),Func ("FlatCurryGoodies","isCase") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Case") [2,3,4]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("FlatCurry","Var") [5]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Lit") [6]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Comb") [7,8,9]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [10,11]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [12,13]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [14,15]) (Comb ConsCall ("Prelude","False") [])])),Func ("FlatCurryGoodies","trExpr") 9 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (FuncType (FuncType (TCons ("FlatCurry","Literal") []) (TVar 0)) (FuncType (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TVar 0]]) (FuncType (TVar 0) (TVar 0))) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TVar 0) (TVar 0))) (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)))) (FuncType (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TCons ("FlatCurry","Expr") []) (TVar 0)))))))))) (Rule [1,2,3,4,5,6,7,8,9] (Case Flex (Var 9) [Branch (Pattern ("FlatCurry","Var") [10]) (Comb FuncCall ("Prelude","apply") [Var 1,Var 10]),Branch (Pattern ("FlatCurry","Lit") [11]) (Comb FuncCall ("Prelude","apply") [Var 2,Var 11]),Branch (Pattern ("FlatCurry","Comb") [12,13,14]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Var 12],Var 13],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Var 1,Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8],Var 14]]),Branch (Pattern ("FlatCurry","Let") [15,16]) (Let [(17,Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Var 1,Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 4,Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr._#lambda64") [Var 17],Var 15]],Comb FuncCall ("Prelude","apply") [Var 17,Var 16]])),Branch (Pattern ("FlatCurry","Free") [18,19]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 5,Var 18],Comb FuncCall ("FlatCurryGoodies","trExpr") [Var 1,Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8,Var 19]]),Branch (Pattern ("FlatCurry","Or") [20,21]) (Let [(22,Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Var 1,Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 6,Comb FuncCall ("Prelude","apply") [Var 22,Var 20]],Comb FuncCall ("Prelude","apply") [Var 22,Var 21]])),Branch (Pattern ("FlatCurry","Case") [23,24,25]) (Let [(26,Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Var 1,Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 7,Var 23],Comb FuncCall ("Prelude","apply") [Var 26,Var 24]],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr._#lambda65") [Var 8,Var 26],Var 25]]))])),Func ("FlatCurryGoodies","trExpr._#lambda64") 2 Private (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TVar 231)) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TVar 231]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,)") [3,4]) (Comb ConsCall ("Prelude","(,)") [Var 3,Comb FuncCall ("Prelude","apply") [Var 1,Var 4]])])),Func ("FlatCurryGoodies","trExpr._#lambda65") 3 Private (FuncType (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TVar 231) (TVar 232))) (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TVar 231)) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TVar 232)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Branch") [4,5]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Comb FuncCall ("Prelude","apply") [Var 2,Var 5]])])),Func ("FlatCurryGoodies","updVars") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Var 1,Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Comb (ConsPartCall 2) ("FlatCurry","Branch") []])),Func ("FlatCurryGoodies","updLiterals") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Var 1,Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Comb (ConsPartCall 2) ("FlatCurry","Branch") []])),Func ("FlatCurryGoodies","updCombs") 1 Public (FuncType (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") [])))) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Var 1,Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Comb (ConsPartCall 2) ("FlatCurry","Branch") []])),Func ("FlatCurryGoodies","updLets") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Var 1,Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Comb (ConsPartCall 2) ("FlatCurry","Branch") []])),Func ("FlatCurryGoodies","updFrees") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Comb (ConsPartCall 2) ("FlatCurry","Let") [],Var 1,Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Comb (ConsPartCall 2) ("FlatCurry","Branch") []])),Func ("FlatCurryGoodies","updOrs") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (ConsPartCall 2) ("FlatCurry","Free") [],Var 1,Comb (ConsPartCall 3) ("FlatCurry","Case") [],Comb (ConsPartCall 2) ("FlatCurry","Branch") []])),Func ("FlatCurryGoodies","updCases") 1 Public (FuncType (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []]) (TCons ("FlatCurry","Expr") [])))) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Var 1,Comb (ConsPartCall 2) ("FlatCurry","Branch") []])),Func ("FlatCurryGoodies","updBranches") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","BranchExpr") []))) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Var 1])),Func ("FlatCurryGoodies","isFuncCall") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("FlatCurryGoodies","isComb") [Var 1],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isCombTypeFuncCall") [],Comb FuncCall ("FlatCurryGoodies","combType") [Var 1]]])),Func ("FlatCurryGoodies","isFuncPartCall") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("FlatCurryGoodies","isComb") [Var 1],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isCombTypeFuncPartCall") [],Comb FuncCall ("FlatCurryGoodies","combType") [Var 1]]])),Func ("FlatCurryGoodies","isConsCall") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("FlatCurryGoodies","isComb") [Var 1],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isCombTypeConsCall") [],Comb FuncCall ("FlatCurryGoodies","combType") [Var 1]]])),Func ("FlatCurryGoodies","isConsPartCall") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("FlatCurryGoodies","isComb") [Var 1],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isCombTypeConsPartCall") [],Comb FuncCall ("FlatCurryGoodies","combType") [Var 1]]])),Func ("FlatCurryGoodies","isGround") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Var 1) [Branch (Pattern ("FlatCurry","Comb") [2,3,4]) (Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","ConsCall") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","all") [Comb (FuncPartCall 1) ("FlatCurryGoodies","isGround") []],Var 4]),Branch (Pattern ("FlatCurry","FuncCall") []) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1]),Branch (Pattern ("FlatCurry","FuncPartCall") [5]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1]),Branch (Pattern ("FlatCurry","ConsPartCall") [6]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1])]),Branch (Pattern ("FlatCurry","Var") [7]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1]),Branch (Pattern ("FlatCurry","Lit") [8]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1]),Branch (Pattern ("FlatCurry","Let") [9,10]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1]),Branch (Pattern ("FlatCurry","Free") [11,12]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1]),Branch (Pattern ("FlatCurry","Or") [13,14]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1]),Branch (Pattern ("FlatCurry","Case") [15,16,17]) (Comb FuncCall ("FlatCurryGoodies","isLit") [Var 1])])),Func ("FlatCurryGoodies","allVars") 1 Public (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 2) ("Prelude",":") [],Comb (FuncPartCall 1) ("Prelude","const") [Comb (FuncPartCall 1) ("Prelude","id") []],Comb (FuncPartCall 2) ("FlatCurryGoodies","allVars.comb.650") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","allVars.lt.650") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","allVars.fr.650") [],Comb (FuncPartCall 2) ("Prelude",".") [],Comb (FuncPartCall 3) ("FlatCurryGoodies","allVars.cas.650") [],Comb (FuncPartCall 2) ("FlatCurryGoodies","allVars.branch.650") [],Var 1],Comb ConsCall ("Prelude","[]") []])),Func ("FlatCurryGoodies","allVars.comb.650") 2 Private (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TCons ("Prelude","[]") [FuncType (TVar 2) (TVar 2)]) (FuncType (TVar 2) (TVar 2))))) (Rule [1,2] (Comb (FuncPartCall 1) ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude",".") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","allVars.lt.650") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])]]) (FuncType (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 1)) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 1)))) (Rule [1,2] (Comb FuncCall ("Prelude",".") [Var 2,Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude",".") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("FlatCurryGoodies","allVars.lt.650._#lambda67") [],Var 1]]])),Func ("FlatCurryGoodies","allVars.lt.650._#lambda67") 1 Private (FuncType (TCons ("Prelude","(,)") [TVar 283,FuncType (TCons ("Prelude","[]") [TVar 283]) (TCons ("Prelude","[]") [TVar 283])]) (FuncType (TCons ("Prelude","[]") [TVar 283]) (TCons ("Prelude","[]") [TVar 283]))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("Prelude",":") [Var 2],Var 3])])),Func ("FlatCurryGoodies","allVars.fr.650") 2 Private (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (FuncType (TVar 1) (TCons ("Prelude","[]") [TVar 0])) (FuncType (TVar 1) (TCons ("Prelude","[]") [TVar 0])))) (Rule [1,2] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","++") [Var 1],Var 2])),Func ("FlatCurryGoodies","allVars.cas.650") 3 Private (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (TVar 2)) (FuncType (TCons ("Prelude","[]") [FuncType (TVar 1) (TVar 1)]) (FuncType (TVar 1) (TVar 2))))) (Rule [1,2,3] (Comb FuncCall ("Prelude",".") [Var 2,Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude",".") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 3]])),Func ("FlatCurryGoodies","allVars.args.650") 1 Private (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isConsPattern") [],Var 1]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","patArgs") [],Var 1]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("FlatCurryGoodies","allVars.branch.650") 2 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (FuncType (TVar 0) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (TVar 0) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1,2] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","++") [Comb FuncCall ("FlatCurryGoodies","allVars.args.650") [Var 1]],Var 2])),Func ("FlatCurryGoodies","rnmAllVars") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Let [(2,Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("FlatCurryGoodies","rnmAllVars._#lambda68") [Var 1]]])] (Let [(3,Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 2) ("FlatCurry","Branch") [],Comb FuncCall ("FlatCurryGoodies","updPatArgs") [Comb (FuncPartCall 1) ("Prelude","map") [Var 1]]])] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Var 1],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (ConsPartCall 3) ("FlatCurry","Comb") [],Var 2,Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Var 3])))),Func ("FlatCurryGoodies","rnmAllVars._#lambda68") 2 Private (FuncType (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,)") [3,4]) (Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4])])),Func ("FlatCurryGoodies","updQNames") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") [],Comb (FuncPartCall 3) ("FlatCurryGoodies","updQNames.comb.673") [Var 1],Comb (ConsPartCall 2) ("FlatCurry","Let") [],Comb (ConsPartCall 2) ("FlatCurry","Free") [],Comb (ConsPartCall 2) ("FlatCurry","Or") [],Comb (ConsPartCall 3) ("FlatCurry","Case") [],Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 2) ("FlatCurry","Branch") [],Comb FuncCall ("FlatCurryGoodies","updPatCons") [Var 1]]])),Func ("FlatCurryGoodies","updQNames.comb.673") 4 Private (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))))) (Rule [1,2,3,4] (Comb ConsCall ("FlatCurry","Comb") [Var 2,Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4])),Func ("FlatCurryGoodies","trBranch") 2 Public (FuncType (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (TVar 0))) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Branch") [3,4]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4])])),Func ("FlatCurryGoodies","branchPattern") 0 Public (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","Pattern") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trBranch") [Comb (FuncPartCall 2) ("FlatCurryGoodies","branchPattern._#lambda69") []])),Func ("FlatCurryGoodies","branchPattern._#lambda69") 2 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Pattern") []))) (Rule [1,2] (Var 1)),Func ("FlatCurryGoodies","branchExpr") 0 Public (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trBranch") [Comb (FuncPartCall 2) ("FlatCurryGoodies","branchExpr._#lambda70") []])),Func ("FlatCurryGoodies","branchExpr._#lambda70") 2 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Var 2)),Func ("FlatCurryGoodies","updBranch") 2 Public (FuncType (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") [])) (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","BranchExpr") [])))) (Rule [1,2] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trBranch") [Comb (FuncPartCall 2) ("FlatCurryGoodies","updBranch.branch.687") [Var 2,Var 1]])),Func ("FlatCurryGoodies","updBranch.branch.687") 4 Private (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") [])) (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","BranchExpr") []))))) (Rule [1,2,3,4] (Comb ConsCall ("FlatCurry","Branch") [Comb FuncCall ("Prelude","apply") [Var 2,Var 3],Comb FuncCall ("Prelude","apply") [Var 1,Var 4]])),Func ("FlatCurryGoodies","updBranchPattern") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") [])) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","BranchExpr") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updBranch") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updBranchExpr") 0 Public (FuncType (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") [])) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","BranchExpr") []))) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","updBranch") [Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","trPattern") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TVar 0))) (FuncType (FuncType (TCons ("FlatCurry","Literal") []) (TVar 0)) (FuncType (TCons ("FlatCurry","Pattern") []) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Pattern") [4,5]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 5]),Branch (Pattern ("FlatCurry","LPattern") [6]) (Comb FuncCall ("Prelude","apply") [Var 2,Var 6])])),Func ("FlatCurryGoodies","patCons") 0 Public (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("FlatCurryGoodies","patCons._#lambda71") [],Comb FuncCall ("Prelude","failed") []])),Func ("FlatCurryGoodies","patCons._#lambda71") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (Rule [1,2] (Var 1)),Func ("FlatCurryGoodies","patArgs") 0 Public (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("FlatCurryGoodies","patArgs._#lambda72") [],Comb FuncCall ("Prelude","failed") []])),Func ("FlatCurryGoodies","patArgs._#lambda72") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Var 2)),Func ("FlatCurryGoodies","patLiteral") 0 Public (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Literal") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb FuncCall ("Prelude","failed") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","isConsPattern") 0 Public (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("FlatCurryGoodies","isConsPattern._#lambda73") [],Comb (FuncPartCall 1) ("FlatCurryGoodies","isConsPattern._#lambda74") []])),Func ("FlatCurryGoodies","isConsPattern._#lambda73") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","True") [])),Func ("FlatCurryGoodies","isConsPattern._#lambda74") 1 Private (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("FlatCurryGoodies","updPattern") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Literal") [])) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))))) (Rule [1,2,3] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("FlatCurryGoodies","updPattern.pattern.718") [Var 2,Var 1],Comb (FuncPartCall 1) ("FlatCurryGoodies","updPattern.lpattern.718") [Var 3]])),Func ("FlatCurryGoodies","updPattern.pattern.718") 4 Private (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("FlatCurry","Pattern") []))))) (Rule [1,2,3,4] (Comb ConsCall ("FlatCurry","Pattern") [Comb FuncCall ("Prelude","apply") [Var 2,Var 3],Comb FuncCall ("Prelude","apply") [Var 1,Var 4]])),Func ("FlatCurryGoodies","updPattern.lpattern.718") 2 Private (FuncType (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Literal") [])) (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Pattern") []))) (Rule [1,2] (Comb ConsCall ("FlatCurry","LPattern") [Comb FuncCall ("Prelude","apply") [Var 1,Var 2]])),Func ("FlatCurryGoodies","updPatCons") 1 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updPattern") [Var 1,Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updPatArgs") 1 Public (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updPattern") [Comb (FuncPartCall 1) ("Prelude","id") [],Var 1,Comb (FuncPartCall 1) ("Prelude","id") []])),Func ("FlatCurryGoodies","updPatLiteral") 1 Public (FuncType (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Literal") [])) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))) (Rule [1] (Comb FuncCall ("FlatCurryGoodies","updPattern") [Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Var 1])),Func ("FlatCurryGoodies","patExpr") 0 Public (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Expr") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trPattern") [Comb (FuncPartCall 1) ("FlatCurryGoodies","patExpr._#lambda75") [],Comb (ConsPartCall 1) ("FlatCurry","Lit") []])),Func ("FlatCurryGoodies","patExpr._#lambda75") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("FlatCurry","Expr") []))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","ConsCall") [],Var 1],Comb (FuncPartCall 1) ("Prelude","map") [Comb (ConsPartCall 1) ("FlatCurry","Var") []]]))] []