Prog "Transform" ["AddWorld","Directory","Distribution","FlatCurry","FlatCurryGoodies","Integer","LiftCases","List","Make","Maybe","Prelude","ReadShowTerm","Wrapper","System"] [TypeSyn ("Transform","Options") Public [] (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])),TypeSyn ("Transform","T") Public [0] (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]]))))] [Func ("Transform","main") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (Rule [] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Make","parseArgs") [],Comb (FuncPartCall 1) ("Transform","main._#lambda2") []]])),Func ("Transform","main._#lambda2") 1 Private (FuncType (TCons ("Make","Parameter") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Distribution","getStdLibDir") [],Comb (FuncPartCall 1) ("Transform","main._#lambda2._#lambda3") [Var 1]])),Func ("Transform","main._#lambda2._#lambda3") 2 Private (FuncType (TCons ("Make","Parameter") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","maybe") [Comb FuncCall ("Prelude","done") [],Comb (FuncPartCall 1) ("Transform","mayCreateDirectory") [],Comb FuncCall ("Make","output") [Var 1]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Transform","transform") [Var 2,Comb FuncCall ("Make","force") [Var 1],Comb FuncCall ("Make","quiet") [Var 1],Comb FuncCall ("Make","output") [Var 1],Comb FuncCall ("Make","modulename") [Var 1]],Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]])),Func ("Transform","mayCreateDirectory") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Directory","doesDirectoryExist") [Var 1],Comb (FuncPartCall 1) ("Transform","mayCreateDirectory._#lambda4") [Var 1]])),Func ("Transform","mayCreateDirectory._#lambda4") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Make","unless") [Var 2,Comb FuncCall ("Directory","createDirectory") [Var 1]])),Func ("Transform","transform") 5 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Let [(6,Comb (FuncPartCall 2) ("Make","obsolete") [Var 3,Comb (FuncPartCall 1) ("Transform","transform._#lambda7") [Var 4],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","addFcy") [],Comb ConsCall ("Prelude","[]") []],Comb (FuncPartCall 1) ("Transform","transform.readTypes.10") []])] (Let [(7,Case Rigid (Var 2) [Branch (Pattern ("Prelude","True") []) (Comb (FuncPartCall 2) ("Transform","transform._#lambda5") []),Branch (Pattern ("Prelude","False") []) (Comb (FuncPartCall 2) ("Transform","transform.myObsolete.10") [Var 1,Var 6,Var 4,Var 3])])] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Make","make") [],Var 3],Var 5],Var 7],Comb (FuncPartCall 3) ("Transform","writeTrans") [Var 4]])))),Func ("Transform","transform.readTypes.10") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","readFile") [Comb FuncCall ("Prelude","head") [Var 1]],Comb (FuncPartCall 1) ("Transform","transform.readTypes.10._#lambda6") []])),Func ("Transform","transform.readTypes.10._#lambda6") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]])) (Rule [1] (Let [(2,Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc '[')]],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc ']')]],Comb FuncCall ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","/=") [],Lit (Charc '[')],Var 1]]])] (Let [(3,Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","fst") [],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","head") [],Comb FuncCall ("ReadShowTerm","readsTerm") [Var 2]]])] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Transform","hasHOTypeArg") [],Var 3]])))),Func ("Transform","transform._#lambda7") 2 Private (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])))) (Rule [1,2] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("Wrapper","addFcy") [],Comb (FuncPartCall 1) ("Wrapper","addOrc") [Var 2,Var 1]])),Func ("Transform","transform.myObsolete.10") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))))))) (Rule [1,2,3,4,5,6] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 5],Var 6],Comb (FuncPartCall 1) ("Transform","transform.myObsolete.10._#lambda8") [Var 1,Var 6,Var 3,Var 5,Var 4]])),Func ("Transform","transform.myObsolete.10._#lambda8") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))))))) (Rule [1,2,3,4,5,6] (Case Rigid (Comb FuncCall ("Prelude","||") [Comb FuncCall ("Maybe","isJust") [Var 6],Comb FuncCall ("Prelude","||") [Comb FuncCall ("Maybe","isJust") [Var 3],Comb FuncCall ("Prelude","not") [Comb FuncCall ("List","isPrefixOf") [Var 1,Var 4]]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","return") [Var 6]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Make","unless") [Var 5,Comb FuncCall ("Prelude","putStrLn") [Comb FuncCall ("Prelude","++") [Var 2,Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Transform","transform.readTypes.10") [Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","++") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","addFcy") [],Var 2]],Comb ConsCall ("Prelude","[]") []]],Comb (FuncPartCall 1) ("Transform","transform.myObsolete.10._#lambda8._#lambda9") []]])])),Func ("Transform","transform.myObsolete.10._#lambda8._#lambda9") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]])) (Rule [1] (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","Just") [Var 1]])),Func ("Transform","transform._#lambda5") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Transform","transform.readTypes.10") [Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","return") [],Comb (ConsPartCall 1) ("Prelude","Just") []]])),Func ("Transform","writeTrans") 4 Public (FuncType (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("Wrapper","addOrc") [Var 2,Var 1,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progName") [],Var 4]])] (Let [(6,Comb FuncCall ("Transform","transProg") [Comb FuncCall ("Prelude","concat") [Var 3],Comb FuncCall ("LiftCases","liftCases") [Comb ConsCall ("Prelude","False") [],Var 4]])] (Let [(7,Comb FuncCall ("Transform","writeTrans._#selFP3#trTypes") [Var 6])] (Let [(8,Comb FuncCall ("Transform","writeTrans._#selFP4#trProg") [Var 6])] (Let [(9,Comb FuncCall ("Prelude","show") [Var 8])] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]],Var 5]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","writeFile") [Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude","[]") []]]]]],Var 9],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","writeFile") [Comb FuncCall ("Prelude","++") [Var 5,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude","[]") []]]]]]],Var 9],Comb FuncCall ("Prelude","return") [Var 7]]]]))))))),Func ("Transform","writeTrans._#selFP3#trTypes") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("FlatCurry","Prog") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Transform","writeTrans._#selFP4#trProg") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("FlatCurry","Prog") []]) (TCons ("FlatCurry","Prog") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Transform","transProg") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("FlatCurry","Prog") []]))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","rnmAllVarsInProg") [],Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","+") [],Lit (Intc 1)]],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("AddWorld","addWorld") [],Var 2]])] (Let [(4,Comb FuncCall ("List","partition") [Comb FuncCall ("Transform","hasHOTypeArg") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progTypes") [],Var 2]])] (Let [(5,Comb FuncCall ("Transform","transProg._#selFP6#withHo") [Var 4])] (Let [(6,Comb FuncCall ("Transform","transProg._#selFP7#noHo") [Var 4])] (Let [(7,Comb FuncCall ("Prelude","fst") [Comb FuncCall ("Transform","transProg.fixDependence.33") [Comb FuncCall ("Prelude","++") [Var 5,Var 1],Var 6]])] (Comb ConsCall ("Prelude","(,)") [Var 7,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updProg") [Comb (FuncPartCall 1) ("Wrapper","newModName") [],Comb (FuncPartCall 1) ("Transform","transProg._#lambda15") [Var 2],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("Transform","transType") [Comb (FuncPartCall 1) ("Transform","transProg.isTrType.33") [Var 7]]],Comb (FuncPartCall 1) ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Transform","transProg.isTrType.33") [Var 7],Comb FuncCall ("FlatCurryGoodies","typeName") []]]],Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("Transform","transFunc") [Comb (FuncPartCall 1) ("Transform","transProg.isTrType.33") [Var 7],Comb (FuncPartCall 1) ("Transform","transProg.isTrCons.33") [Var 7]]],Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updOpName") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []]]],Var 3]]))))))),Func ("Transform","transProg._#selFP6#withHo") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Transform","transProg._#selFP7#noHo") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Transform","transProg.containsTypes.33") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 1) ("Transform","transProg.containsTypes.33._#lambda13") [],Comb (FuncPartCall 2) ("Transform","transProg.containsTypes.33._#lambda14") [Var 1],Comb (FuncPartCall 2) ("Prelude","||") []])),Func ("Transform","transProg.containsTypes.33._#lambda13") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transProg.containsTypes.33._#lambda14") 3 Private (FuncType (TCons ("Prelude","[]") [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","Bool") []]) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","or") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 2],Var 1],Var 3]])),Func ("Transform","transProg.dependsOnTypes.33") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 3) ("Transform","transProg.dependsOnTypes.33._#lambda11") [Var 1],Comb (FuncPartCall 3) ("Transform","transProg.dependsOnTypes.33._#lambda12") [Var 1]])),Func ("Transform","transProg.dependsOnTypes.33._#lambda11") 4 Private (FuncType (TCons ("Prelude","[]") [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 ("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","any") [Comb FuncCall ("Prelude",".") [Comb FuncCall ("Prelude","any") [Comb FuncCall ("Transform","transProg.containsTypes.33") [Var 1]],Comb FuncCall ("FlatCurryGoodies","consArgs") []]])),Func ("Transform","transProg.dependsOnTypes.33._#lambda12") 4 Private (FuncType (TCons ("Prelude","[]") [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 ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])))))) (Rule [1,2,3,4] (Comb FuncCall ("Transform","transProg.containsTypes.33") [Var 1])),Func ("Transform","transProg.fixDependence.33") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []],TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("List","partition") [Comb FuncCall ("Transform","transProg.dependsOnTypes.33") [Comb FuncCall ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","typeName") [],Var 1]],Var 2]) [Branch (Pattern ("Prelude","(,)") [3,4]) (Case Rigid (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Var 1,Var 4]),Branch (Pattern ("Prelude",":") [5,6]) (Comb FuncCall ("Transform","transProg.fixDependence.33") [Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Var 6]],Var 4])])])),Func ("Transform","transProg.isTrType.33") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","elem") [Var 2],Comb FuncCall ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","typeName") [],Var 1]])),Func ("Transform","transProg.isTrCons.33") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","elem") [Var 2],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","consName") []],Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","concatMap") [Comb FuncCall ("FlatCurryGoodies","typeConsDecls") []],Comb FuncCall ("Prelude","filter") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Comb FuncCall ("FlatCurryGoodies","isTypeSyn") []],Var 1]]]])),Func ("Transform","transProg._#lambda15") 2 Private (FuncType (TCons ("FlatCurry","Prog") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (Rule [1,2] (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","eventMod") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","oracle") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","ioexts") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","progName") [],Var 1],Comb FuncCall ("Prelude","++") [Var 2,Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Wrapper","newModName") [],Var 2]]]]]])),Func ("Transform","hasHOTypeArg") 0 Public (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FlatCurryGoodies","trType") [Comb (FuncPartCall 4) ("Transform","hasHOTypeArg._#lambda16") [],Comb (FuncPartCall 4) ("Transform","hasHOTypeArg._#lambda17") []])),Func ("Transform","hasHOTypeArg._#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 ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","any") [Comb FuncCall ("FlatCurryGoodies","isFuncType") []],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb FuncCall ("FlatCurryGoodies","consArgs") []],Var 4]])),Func ("Transform","hasHOTypeArg._#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 ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transType") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","typeName") [],Var 2]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","$") [Comb FuncCall ("FlatCurryGoodies","updTypeName") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updTypeConsDecls") [Comb (FuncPartCall 1) ("Prelude","map") [Comb FuncCall ("FlatCurryGoodies","updCons") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Prelude","map") [Comb (FuncPartCall 1) ("Transform","rType") [Var 1]]]]],Var 2]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("Transform","when") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Var 2,Var 3]),Branch (Pattern ("Prelude","False") []) (Var 3)])),Func ("Transform","rType") 2 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TVar") [3]) (Var 2),Branch (Pattern ("FlatCurry","TCons") [4,5]) (Comb ConsCall ("FlatCurry","TCons") [Comb FuncCall ("Transform","when") [Var 1,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Var 4],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Transform","rType") [Var 1],Var 5]]),Branch (Pattern ("FlatCurry","FuncType") [6,7]) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updQNamesInTypeExpr") [Comb (FuncPartCall 1) ("Transform","when") [Var 1,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []]],Comb FuncCall ("Transform","rType") [Var 1,Var 6]],Comb FuncCall ("Transform","rType") [Var 1,Var 7]]])])),Func ("Transform","transFunc") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Func") [4,5,6,7,8]) (Let [(9,Comb FuncCall ("FlatCurryGoodies","resultType") [Var 7])] (Let [(10,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","allVarsInFunc") [],Var 3])] (Let [(11,Case Rigid (Comb FuncCall ("Prelude","null") [Var 10]) [Branch (Pattern ("Prelude","True") []) (Lit (Intc 2)),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","+") [Comb FuncCall ("Integer","maxlist") [Var 10],Lit (Intc 1)])])] (Let [(12,Comb FuncCall ("Prelude","enumFromTo") [Lit (Intc 1),Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]])] (Let [(13,Comb FuncCall ("Wrapper","newModNameQ") [Var 4])] (Let [(14,Comb (FuncPartCall 1) ("FlatCurryGoodies","trExpr") [Comb (FuncPartCall 1) ("Prelude","const") [Comb ConsCall ("Prelude","False") []],Comb (FuncPartCall 1) ("Prelude","const") [Comb ConsCall ("Prelude","True") []],Comb (FuncPartCall 3) ("Transform","transFunc._#lambda19") [],Comb (FuncPartCall 2) ("Transform","transFunc._#lambda20") [],Comb (FuncPartCall 2) ("Transform","transFunc._#lambda21") [],Comb (FuncPartCall 2) ("Prelude","&&") [],Comb (FuncPartCall 3) ("Transform","transFunc._#lambda22") [],Comb (FuncPartCall 2) ("Transform","transFunc._#lambda23") []])] (Case Rigid (Comb FuncCall ("Prelude","||") [Comb FuncCall ("Prelude","==") [Var 4,Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Lit (Charc 'G'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]]]],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 4],Comb FuncCall ("Wrapper","implementedInOracle") []]]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 3],Comb FuncCall ("Transform","transFunc.isIO.89") [Var 9]]) [Branch (Pattern ("Prelude","True") []) (Let [(15,Case Rigid (Comb FuncCall ("Transform","transFunc.isComplexIO.89") [Var 4,Var 9]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Wrapper","extIO") [Comb FuncCall ("Wrapper","safeIOResult") [Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Var 5]]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Wrapper","extIO") [Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Var 5]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])] (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Var 5,Var 6,Comb FuncCall ("Transform","transFuncType") [Comb FuncCall ("Prelude","-") [Var 5,Lit (Intc 1)],Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Comb FuncCall ("Prelude","enumFromTo") [Lit (Intc 1),Var 5]]],Comb FuncCall ("Wrapper","collapse") [Comb FuncCall ("Wrapper","ref") [],Var 15]]],Comb ConsCall ("Prelude","[]") []])),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isExternal") [],Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6,Comb FuncCall ("Transform","transFuncType") [Var 5,Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Var 12]],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Wrapper","collapse") [Comb FuncCall ("Wrapper","ref") []],Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]]]]],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Transform","transFunc.isGlobal.89") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 14,Comb FuncCall ("Prelude","head") [Comb FuncCall ("FlatCurryGoodies","combArgs") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 3]]]]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6,Comb FuncCall ("Transform","transFuncType") [Var 5,Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Var 12]],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Wrapper","collapse") [Comb FuncCall ("Wrapper","ref") []],Comb FuncCall ("Transform","transFunc.extCall.89") [Var 4,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]]]]],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","error") [Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","fst") [Var 4],Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","snd") [Var 4],Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'z'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'w'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'v'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'v'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]])]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Comb FuncCall ("Transform","transExpr") [Var 2,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 3],Var 11]) [Branch (Pattern ("Prelude","Right") [16]) (Case Rigid (Var 16) [Branch (Pattern ("Prelude","(,,)") [17,18,19]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updFunc") [Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","+") [],Lit (Intc 1)],Comb (FuncPartCall 1) ("Prelude","id") [],Comb (FuncPartCall 1) ("Transform","transFuncType") [Var 5,Var 1],Comb FuncCall ("FlatCurryGoodies","updRule") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","++") [],Comb ConsCall ("Prelude",":") [Lit (Intc 1),Comb ConsCall ("Prelude","[]") []]],Comb (FuncPartCall 1) ("Prelude","const") [Comb FuncCall ("Wrapper","event") [Var 17,Comb FuncCall ("Wrapper","ref") [],Var 18,Var 19]],Comb (FuncPartCall 1) ("Prelude","id") []]],Var 3],Comb ConsCall ("Prelude","[]") []])]),Branch (Pattern ("Prelude","Left") [20]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Func") [Var 13,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6,Comb FuncCall ("Transform","transFuncType") [Var 5,Var 1,Var 7]],Comb FuncCall ("Prelude","$") [Comb (ConsPartCall 1) ("FlatCurry","Rule") [Var 12],Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Wrapper","errorCall") [],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","fst") [Var 13],Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","snd") [Var 13],Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Var 20]]]]]]],Comb ConsCall ("Prelude","[]") []])]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])])))))))])),Func ("Transform","transFunc.isIO.89") 1 Private (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isTCons") [],Var 1],Comb FuncCall ("Prelude","==") [Comb FuncCall ("FlatCurryGoodies","tConsName") [Var 1],Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude","[]") []]]]]])),Func ("Transform","transFunc.isComplexIO.89") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TVar") [3]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","TCons") [4,5]) (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","/=") [Var 5,Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","TCons") [Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Wrapper","prelude") [],Comb ConsCall ("Prelude",":") [Lit (Charc '('),Comb ConsCall ("Prelude",":") [Lit (Charc ')'),Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 1],Comb FuncCall ("Wrapper","specialIOs") []]]])])),Func ("Transform","transFunc.isGlobal.89") 1 Private (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","funcBody") [],Var 1]) [Branch (Pattern ("FlatCurry","Comb") [2,3,4]) (Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","FuncCall") []) (Case Rigid (Var 4) [Branch (Pattern ("Prelude",":") [5,6]) (Case Rigid (Var 6) [Branch (Pattern ("Prelude",":") [7,8]) (Case Rigid (Var 8) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","==") [Var 3,Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Lit (Charc 'G'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]],Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude","[]") []]]]]]]]]),Branch (Pattern ("Prelude",":") [9,10]) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("FlatCurry","ConsCall") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","FuncPartCall") [11]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","ConsPartCall") [12]) (Comb ConsCall ("Prelude","False") [])]),Branch (Pattern ("FlatCurry","Var") [13]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Lit") [14]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Let") [15,16]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Free") [17,18]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Or") [19,20]) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("FlatCurry","Case") [21,22,23]) (Comb ConsCall ("Prelude","False") [])])),Func ("Transform","transFunc.extCall.89") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","Expr") []))) (Rule [1,2] (Comb ConsCall ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncCall") [],Var 1,Comb FuncCall ("Prelude","map") [Comb (ConsPartCall 1) ("FlatCurry","Var") [],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","reverse") [],Comb FuncCall ("Prelude","tail") [Comb FuncCall ("Prelude","enumFromTo") [Lit (Intc 1),Var 2]]]]])),Func ("Transform","transFunc._#lambda19") 3 Private (FuncType (TCons ("FlatCurry","CombType") []) (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,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","and") [],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","isCombTypeConsCall") [],Var 1],Var 3]])),Func ("Transform","transFunc._#lambda20") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Bool") []]]) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","and") [],Comb ConsCall ("Prelude",":") [Var 2,Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","snd") [],Var 1]]])),Func ("Transform","transFunc._#lambda21") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Var 2)),Func ("Transform","transFunc._#lambda22") 3 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transFunc._#lambda23") 2 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("Transform","transFuncType") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FlatCurry","TVar") [4]) (Case Rigid (Comb FuncCall ("Prelude","||") [Comb FuncCall ("Prelude","==") [Var 4,Comb FuncCall ("Prelude","negate") [Lit (Intc 42)]],Comb FuncCall ("Prelude","/=") [Var 1,Lit (Intc 0)]]) [Branch (Pattern ("Prelude","True") []) (Var 3),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb FuncCall ("Transform","rType") [Var 2,Var 3]])]),Branch (Pattern ("FlatCurry","TCons") [5,6]) (Case Flex (Var 1) [Branch (LPattern (Intc 0)) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb FuncCall ("Transform","rType") [Var 2,Var 3]])]),Branch (Pattern ("FlatCurry","FuncType") [7,8]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Wrapper","tRef") [],Comb FuncCall ("Transform","rType") [Var 2,Var 3]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FlatCurry","FuncType") [Comb FuncCall ("Transform","rType") [Var 2,Var 7],Comb FuncCall ("Transform","transFuncType") [Comb FuncCall ("Prelude","-") [Var 1,Lit (Intc 1)],Var 2,Var 8]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("Transform","transExpr") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,)") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],TCons ("FlatCurry","Expr") []]])))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","trExpr") [Comb (FuncPartCall 1) ("Transform","var") [],Comb (FuncPartCall 1) ("Transform","lit") [],Comb (FuncPartCall 3) ("Transform","comb") [],Comb (FuncPartCall 2) ("Transform","leT") [],Comb (FuncPartCall 2) ("Transform","freE") [],Comb (FuncPartCall 2) ("Transform","oR") [],Comb (FuncPartCall 3) ("Transform","casE") [],Comb (FuncPartCall 6) ("Transform","branch") [],Var 2],Var 1],Var 3],Comb ConsCall ("Prelude",":") [Comb FuncCall ("Wrapper","ref") [],Comb ConsCall ("Prelude","[]") []]]) [Branch (Pattern ("Prelude","Right") [4]) (Case Rigid (Var 4) [Branch (Pattern ("Prelude","(,,,)") [5,6,7,8]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,)") [Var 6,Comb FuncCall ("Prelude","apply") [Var 7,Comb ConsCall ("Prelude","[]") []],Var 8]])]),Branch (Pattern ("Prelude","Left") [9]) (Comb ConsCall ("Prelude","Left") [Var 9])])),Func ("Transform","ret") 4 Public (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]]))))) (Rule [1,2,3,4] (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 3,Var 4,Comb (FuncPartCall 1) ("Prelude","id") [],Var 1]])),Func ("Transform",".>>=") 5 Public (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]])))) (FuncType (FuncType (TVar 0) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 1]]))))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 1]])))))) (Rule [1,2,3,4,5] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4],Var 5]) [Branch (Pattern ("Prelude","Right") [6]) (Case Rigid (Var 6) [Branch (Pattern ("Prelude","(,,,)") [7,8,9,10]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 10],Var 3],Var 7],Var 8]) [Branch (Pattern ("Prelude","Right") [11]) (Case Rigid (Var 11) [Branch (Pattern ("Prelude","(,,,)") [12,13,14,15]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 12,Var 13,Comb FuncCall ("Prelude",".") [Var 9,Var 14],Var 15]])]),Branch (Pattern ("Prelude","Left") [16]) (Comb ConsCall ("Prelude","Left") [Var 16])])]),Branch (Pattern ("Prelude","Left") [17]) (Comb ConsCall ("Prelude","Left") [Var 17])])),Func ("Transform","sequence") 1 Public (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 0]])))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","[]") [TVar 0]]]))))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 2,Comb (FuncPartCall 1) ("Transform","sequence._#lambda28") [Var 3]])])),Func ("Transform","sequence._#lambda28") 2 Private (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TVar 149]])))]) (FuncType (TVar 149) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","[]") [TVar 149]]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 1],Comb (FuncPartCall 1) ("Transform","sequence._#lambda28._#lambda29") [Var 2]])),Func ("Transform","sequence._#lambda28._#lambda29") 2 Private (FuncType (TVar 149) (FuncType (TCons ("Prelude","[]") [TVar 149]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","[]") [TVar 149]]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("Prelude",":") [Var 1,Var 2]])),Func ("Transform","nextRef") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","Int") []]])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Comb FuncCall ("Prelude","+") [Var 2,Lit (Intc 1)],Comb ConsCall ("Prelude","[]") [],Comb (ConsPartCall 1) ("Prelude",":") [Var 2],Var 2]]),Branch (Pattern ("Prelude",":") [4,5]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 2,Var 5,Comb (FuncPartCall 1) ("Prelude","id") [],Var 4]])])),Func ("Transform","renameCons") 2 Public (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]]))))) (Rule [1,2] (Comb (FuncPartCall 2) ("Transform","ret") [Comb FuncCall ("Transform","when") [Var 2,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") [],Var 1],Var 2])),Func ("Transform","var") 1 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))) (Rule [1] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Var") [Var 1]])),Func ("Transform","lit") 1 Public (FuncType (TCons ("FlatCurry","Literal") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))) (Rule [1] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Lit") [Var 1]])),Func ("Transform","comb") 3 Public (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Case Flex (Var 1) [Branch (Pattern ("FlatCurry","ConsCall") []) (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda30") [Var 1,Var 2]]),Branch (Pattern ("FlatCurry","ConsPartCall") [4]) (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda32") [Var 1,Var 4,Var 2]]),Branch (Pattern ("FlatCurry","FuncCall") []) (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda34") [Var 1,Var 2]]),Branch (Pattern ("FlatCurry","FuncPartCall") [5]) (Let [(6,Comb (ConsPartCall 2) ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","FuncPartCall") [Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)]]])] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda36") [Var 5,Var 2,Var 6]]))])),Func ("Transform","comb._#lambda30") 3 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 1) ("Transform","renameCons") [Var 2],Comb (FuncPartCall 1) ("Transform","comb._#lambda30._#lambda31") [Var 3,Var 1]])),Func ("Transform","comb._#lambda30._#lambda31") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Comb") [Var 2,Var 3,Var 1]])),Func ("Transform","comb._#lambda32") 4 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 1) ("Transform","renameCons") [Var 3],Comb (FuncPartCall 1) ("Transform","comb._#lambda32._#lambda33") [Var 4,Var 1,Var 2]])),Func ("Transform","comb._#lambda32._#lambda33") 4 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb (FuncPartCall 3) ("Transform","ret") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","partCons") [],Var 3],Comb ConsCall ("FlatCurry","Comb") [Var 2,Var 4,Var 1]]])),Func ("Transform","comb._#lambda34") 3 Private (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb (FuncPartCall 1) ("Transform","comb._#lambda34._#lambda35") [Var 3,Var 1,Var 2]])),Func ("Transform","comb._#lambda34._#lambda35") 4 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Comb ConsCall ("FlatCurry","Var") [Var 4],Comb ConsCall ("Prelude","[]") []]])] (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 3],Comb FuncCall ("Wrapper","implementedInOracle") []]) [Branch (Pattern ("Prelude","True") []) (Comb (FuncPartCall 3) ("Transform","ret") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","inOraclePartCall") [Comb FuncCall ("Prelude","snd") [Var 3]],Var 5]]),Branch (Pattern ("Prelude","False") []) (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Comb") [Var 2,Comb FuncCall ("Wrapper","newModNameQ") [Var 3],Var 5]])]))),Func ("Transform","comb._#lambda36") 4 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 4) ("Transform","ret") [],Comb FuncCall ("Prelude","$") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","partFunc") [],Var 1],Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","elem") [Var 2],Comb FuncCall ("Wrapper","implementedInOracle") []]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Wrapper","inOraclePartCall") [Comb FuncCall ("Prelude","snd") [Var 2]],Var 4]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Comb FuncCall ("Wrapper","newModNameQ") [Var 2]],Var 4])]]])),Func ("Transform","leT") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","snd") [],Var 1]],Comb (FuncPartCall 1) ("Transform","leT._#lambda37") [Var 1,Var 2]])),Func ("Transform","leT._#lambda37") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb (FuncPartCall 4) ("Transform","leT._#lambda37._#lambda38") [Var 3,Var 1,Var 2]])),Func ("Transform","leT._#lambda37._#lambda38") 7 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))]]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 150]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TVar 151],FuncType (TVar 152) (TVar 152),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4,5,6,7] (Case Flex (Var 7) [Branch (Pattern ("Prelude","[]") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Var 5],Var 6],Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []]]) [Branch (Pattern ("Prelude","Right") [8]) (Case Rigid (Var 8) [Branch (Pattern ("Prelude","(,,,)") [9,10,11,12]) (Let [(13,Comb FuncCall ("Prelude","zip") [Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","fst") [],Var 2],Var 1])] (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 9,Comb ConsCall ("Prelude","[]") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("FlatCurry","Let") [Var 13,Comb FuncCall ("Wrapper","event") [Var 10,Var 4,Comb FuncCall ("Prelude","apply") [Var 11,Comb ConsCall ("Prelude","[]") []],Var 12]]]]))]),Branch (Pattern ("Prelude","Left") [14]) (Comb ConsCall ("Prelude","Left") [Var 14])])])),Func ("Transform","freE") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Let [(3,Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 4) ("Transform","ret") [],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Wrapper","unknown") [],Comb (ConsPartCall 1) ("FlatCurry","Var") []]]])] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Comb FuncCall ("Prelude","replicate") [Comb FuncCall ("Prelude","length") [Var 1],Var 3]],Comb (FuncPartCall 1) ("Transform","freE._#lambda40") [Var 2,Var 1]]))),Func ("Transform","freE._#lambda40") 3 Private (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 1,Comb (FuncPartCall 1) ("Transform","freE._#lambda40._#lambda41") [Var 3,Var 2]])),Func ("Transform","freE._#lambda40._#lambda41") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Let") [Comb FuncCall ("Prelude","zip") [Var 2,Var 1],Var 3]])),Func ("Transform","oR") 2 Public (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 1,Comb (FuncPartCall 1) ("Transform","oR._#lambda42") [Var 2]])),Func ("Transform","oR._#lambda42") 2 Private (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 1,Comb (FuncPartCall 1) ("Transform","oR._#lambda42._#lambda43") [Var 2]])),Func ("Transform","oR._#lambda42._#lambda43") 2 Private (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))) (Rule [1,2] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Or") [Var 1,Var 2]])),Func ("Transform","casE") 3 Public (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Var 2,Comb (FuncPartCall 1) ("Transform","casE._#lambda44") [Var 1,Var 3]])),Func ("Transform","casE._#lambda44") 3 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb (FuncPartCall 3) ("Transform","nextRef") [],Comb (FuncPartCall 1) ("Transform","casE._#lambda44._#lambda45") [Var 1,Var 3,Var 2]])),Func ("Transform","casE._#lambda44._#lambda45") 4 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))]) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))))))) (Rule [1,2,3,4] (Comb (FuncPartCall 3) ("Transform",".>>=") [Comb FuncCall ("Transform","sequence") [Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","$") [],Var 4],Var 3]],Comb (FuncPartCall 1) ("Transform","casE._#lambda44._#lambda45._#lambda46") [Var 1,Var 2]])),Func ("Transform","casE._#lambda44._#lambda45._#lambda46") 3 Private (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []]) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]]))))))) (Rule [1,2,3] (Comb (FuncPartCall 3) ("Transform","ret") [Comb ConsCall ("FlatCurry","Case") [Var 1,Var 2,Var 3]])),Func ("Transform","branch") 6 Public (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","Expr") []]])))) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","Either") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","(,,,)") [TCons ("Prelude","Int") [],TCons ("Prelude","[]") [TCons ("Prelude","Int") []],FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]),TCons ("FlatCurry","BranchExpr") []]]))))))) (Rule [1,2,3,4,5,6] (Case Flex (Var 6) [Branch (Pattern ("Prelude","[]") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 4],Var 5],Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]]) [Branch (Pattern ("Prelude","Right") [7]) (Case Rigid (Var 7) [Branch (Pattern ("Prelude","(,,,)") [8,9,10,11]) (Comb ConsCall ("Prelude","Right") [Comb ConsCall ("Prelude","(,,,)") [Var 8,Comb ConsCall ("Prelude","[]") [],Comb (FuncPartCall 1) ("Prelude","id") [],Comb ConsCall ("FlatCurry","Branch") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FlatCurryGoodies","updPatCons") [Comb (FuncPartCall 1) ("Transform","when") [Var 4,Comb (FuncPartCall 1) ("Wrapper","newModNameQ") []]],Var 1],Comb FuncCall ("Wrapper","event") [Var 9,Var 3,Comb FuncCall ("Prelude","apply") [Var 10,Comb ConsCall ("Prelude","[]") []],Var 11]]]])]),Branch (Pattern ("Prelude","Left") [12]) (Comb ConsCall ("Prelude","Left") [Var 12])])]))] []