Prog "Prelude" [] [Type ("Prelude","()") Public [] [Cons ("Prelude","()") 0 Public []],Type ("Prelude","[]") Public [0] [Cons ("Prelude","[]") 0 Public [],Cons ("Prelude",":") 2 Public [TVar 0,TCons ("Prelude","[]") [TVar 0]]],Type ("Prelude","(,)") Public [0,1] [Cons ("Prelude","(,)") 2 Public [TVar 0,TVar 1]],Type ("Prelude","(,,)") Public [0,1,2] [Cons ("Prelude","(,,)") 3 Public [TVar 0,TVar 1,TVar 2]],Type ("Prelude","(,,,)") Public [0,1,2,3] [Cons ("Prelude","(,,,)") 4 Public [TVar 0,TVar 1,TVar 2,TVar 3]],Type ("Prelude","(,,,,)") Public [0,1,2,3,4] [Cons ("Prelude","(,,,,)") 5 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4]],Type ("Prelude","(,,,,,)") Public [0,1,2,3,4,5] [Cons ("Prelude","(,,,,,)") 6 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5]],Type ("Prelude","(,,,,,,)") Public [0,1,2,3,4,5,6] [Cons ("Prelude","(,,,,,,)") 7 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6]],Type ("Prelude","(,,,,,,,)") Public [0,1,2,3,4,5,6,7] [Cons ("Prelude","(,,,,,,,)") 8 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7]],Type ("Prelude","(,,,,,,,,)") Public [0,1,2,3,4,5,6,7,8] [Cons ("Prelude","(,,,,,,,,)") 9 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8]],Type ("Prelude","(,,,,,,,,,)") Public [0,1,2,3,4,5,6,7,8,9] [Cons ("Prelude","(,,,,,,,,,)") 10 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8,TVar 9]],Type ("Prelude","(,,,,,,,,,,)") Public [0,1,2,3,4,5,6,7,8,9,10] [Cons ("Prelude","(,,,,,,,,,,)") 11 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8,TVar 9,TVar 10]],Type ("Prelude","(,,,,,,,,,,,)") Public [0,1,2,3,4,5,6,7,8,9,10,11] [Cons ("Prelude","(,,,,,,,,,,,)") 12 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8,TVar 9,TVar 10,TVar 11]],Type ("Prelude","(,,,,,,,,,,,,)") Public [0,1,2,3,4,5,6,7,8,9,10,11,12] [Cons ("Prelude","(,,,,,,,,,,,,)") 13 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8,TVar 9,TVar 10,TVar 11,TVar 12]],Type ("Prelude","(,,,,,,,,,,,,,)") Public [0,1,2,3,4,5,6,7,8,9,10,11,12,13] [Cons ("Prelude","(,,,,,,,,,,,,,)") 14 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8,TVar 9,TVar 10,TVar 11,TVar 12,TVar 13]],Type ("Prelude","(,,,,,,,,,,,,,,)") Public [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] [Cons ("Prelude","(,,,,,,,,,,,,,,)") 15 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8,TVar 9,TVar 10,TVar 11,TVar 12,TVar 13,TVar 14]],TypeSyn ("Prelude","String") Public [] (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]),Type ("Prelude","Float") Public [] [],Type ("Prelude","Char") Public [] [],Type ("Prelude","Bool") Public [] [Cons ("Prelude","False") 0 Public [],Cons ("Prelude","True") 0 Public []],Type ("Prelude","Ordering") Public [] [Cons ("Prelude","LT") 0 Public [],Cons ("Prelude","EQ") 0 Public [],Cons ("Prelude","GT") 0 Public []],Type ("Prelude","Nat") Public [] [Cons ("Prelude","IHi") 0 Public [],Cons ("Prelude","O") 1 Public [TCons ("Prelude","Nat") []],Cons ("Prelude","I") 1 Public [TCons ("Prelude","Nat") []]],Type ("Prelude","Int") Public [] [Cons ("Prelude","Neg") 1 Public [TCons ("Prelude","Nat") []],Cons ("Prelude","Zero") 0 Public [],Cons ("Prelude","Pos") 1 Public [TCons ("Prelude","Nat") []]],Type ("Prelude","Success") Public [] [Cons ("Prelude","Success") 0 Public []],Type ("Prelude","Maybe") Public [0] [Cons ("Prelude","Nothing") 0 Public [],Cons ("Prelude","Just") 1 Public [TVar 0]],Type ("Prelude","Either") Public [0,1] [Cons ("Prelude","Left") 1 Public [TVar 0],Cons ("Prelude","Right") 1 Public [TVar 1]],Type ("Prelude","IO") Public [0] [],Type ("Prelude","SearchTree") Public [0] [Cons ("Prelude","Fail") 0 Public [],Cons ("Prelude","Value") 1 Public [TVar 0],Cons ("Prelude","Choice") 1 Public [TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 0]]],Cons ("Prelude","Suspend") 0 Public []]] [Func ("Prelude",".") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))) (Rule [1,2] (Comb (FuncPartCall 1) ("Prelude",".._#lambda2") [Var 1,Var 2])),Func ("Prelude",".._#lambda2") 3 Private (FuncType (FuncType (TVar 9) (TVar 11)) (FuncType (FuncType (TVar 7) (TVar 9)) (FuncType (TVar 7) (TVar 11)))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Var 1,Comb FuncCall ("Prelude","apply") [Var 2,Var 3]])),Func ("Prelude","id") 1 Public (FuncType (TVar 0) (TVar 0)) (Rule [1] (Var 1)),Func ("Prelude","const") 2 Public (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (Rule [1,2] (Var 1)),Func ("Prelude","curry") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 2)) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2)))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Var 1,Comb ConsCall ("Prelude","(,)") [Var 2,Var 3]])),Func ("Prelude","uncurry") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 2))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,)") [3,4]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4])])),Func ("Prelude","flip") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TVar 1) (FuncType (TVar 0) (TVar 2)))) (Rule [1,2,3] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 2])),Func ("Prelude","until") 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") []) (Var 3),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","until") [Var 1,Var 2,Comb FuncCall ("Prelude","apply") [Var 2,Var 3]])])),Func ("Prelude","$") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Var 1,Var 2])),Func ("Prelude","$!") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$!"),Func ("Prelude","$!!") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$!!"),Func ("Prelude","$#") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$#"),Func ("Prelude","$##") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$##"),Func ("Prelude","ensureSpine") 0 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","$#") [Comb (FuncPartCall 1) ("Prelude","ensureSpine.ensureList.21") []])),Func ("Prelude","ensureSpine.ensureList.21") 1 Private (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [2,3]) (Comb ConsCall ("Prelude",":") [Var 2,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","ensureSpine") [],Var 3]])])),Func ("Prelude","seq") 2 Public (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (Rule [1,2] (Comb FuncCall ("Prelude","$!") [Comb (FuncPartCall 1) ("Prelude","const") [Var 2],Var 1])),Func ("Prelude","error") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TVar 0)) (Rule [1] (Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("Prelude","prim_error") [],Var 1])),Func ("Prelude","prim_error") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TVar 0)) (External "Prelude.prim_error"),Func ("Prelude","failed") 0 Public (TVar 0) (External "Prelude.failed"),Func ("Prelude","&&") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("Prelude","False") [])])),Func ("Prelude","||") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude","False") []) (Var 2)])),Func ("Prelude","not") 1 Public (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("Prelude","True") [])])),Func ("Prelude","otherwise") 0 Public (TCons ("Prelude","Bool") []) (Rule [] (Comb ConsCall ("Prelude","True") [])),Func ("Prelude","if_then_else") 3 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0)))) (Rule [1,2,3] (Case Rigid (Var 1) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Var 3)])),Func ("Prelude","isLT") 1 Public (FuncType (TCons ("Prelude","Ordering") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","LT") []) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude","GT") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("Prelude","EQ") []) (Comb ConsCall ("Prelude","False") [])])),Func ("Prelude","isGT") 1 Public (FuncType (TCons ("Prelude","Ordering") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","LT") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("Prelude","GT") []) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude","EQ") []) (Comb ConsCall ("Prelude","False") [])])),Func ("Prelude","isEQ") 1 Public (FuncType (TCons ("Prelude","Ordering") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","LT") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("Prelude","GT") []) (Comb ConsCall ("Prelude","False") []),Branch (Pattern ("Prelude","EQ") []) (Comb ConsCall ("Prelude","True") [])])),Func ("Prelude","compare") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Ordering") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Zero") []) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","EQ") []),Branch (Pattern ("Prelude","Pos") [3]) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","Neg") [4]) (Comb ConsCall ("Prelude","GT") [])]),Branch (Pattern ("Prelude","Pos") [5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","GT") []),Branch (Pattern ("Prelude","Pos") [6]) (Comb FuncCall ("Prelude","cmpNat") [Var 5,Var 6]),Branch (Pattern ("Prelude","Neg") [7]) (Comb ConsCall ("Prelude","GT") [])]),Branch (Pattern ("Prelude","Neg") [8]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","Pos") [9]) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","Neg") [10]) (Comb FuncCall ("Prelude","cmpNat") [Var 10,Var 8])])])),Func ("Prelude","<") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("Prelude","compare") [Var 1,Var 2],Comb ConsCall ("Prelude","LT") []])),Func ("Prelude",">") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("Prelude","compare") [Var 1,Var 2],Comb ConsCall ("Prelude","GT") []])),Func ("Prelude","<=") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","/=") [Comb FuncCall ("Prelude","compare") [Var 1,Var 2],Comb ConsCall ("Prelude","GT") []])),Func ("Prelude",">=") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","/=") [Comb FuncCall ("Prelude","compare") [Var 1,Var 2],Comb ConsCall ("Prelude","LT") []])),Func ("Prelude","max") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","compare") [Var 1,Var 2]) [Branch (Pattern ("Prelude","LT") []) (Var 2),Branch (Pattern ("Prelude","EQ") []) (Var 1),Branch (Pattern ("Prelude","GT") []) (Var 1)])),Func ("Prelude","min") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","compare") [Var 1,Var 2]) [Branch (Pattern ("Prelude","GT") []) (Var 2),Branch (Pattern ("Prelude","LT") []) (Var 1),Branch (Pattern ("Prelude","EQ") []) (Var 1)])),Func ("Prelude","==") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (External "Prelude.=="),Func ("Prelude","/=") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","==") [Var 1,Var 2]])),Func ("Prelude","fst") 1 Public (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 0)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","snd") 1 Public (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 1)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","head") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude",":") [2,3]) (Var 2)])),Func ("Prelude","tail") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude",":") [2,3]) (Var 3)])),Func ("Prelude","null") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude",":") [2,3]) (Comb ConsCall ("Prelude","False") [])])),Func ("Prelude","++") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Var 2),Branch (Pattern ("Prelude",":") [3,4]) (Comb ConsCall ("Prelude",":") [Var 3,Comb FuncCall ("Prelude","++") [Var 4,Var 2]])])),Func ("Prelude","length") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Lit (Intc 0)),Branch (Pattern ("Prelude",":") [2,3]) (Comb FuncCall ("Prelude","+") [Lit (Intc 1),Comb FuncCall ("Prelude","length") [Var 3]])])),Func ("Prelude","!!") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (TVar 0))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude",":") [3,4]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 2,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Var 3),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude",">") [Var 2,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","!!") [Var 4,Comb FuncCall ("Prelude","-") [Var 2,Lit (Intc 1)]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("Prelude","map") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 1]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Comb FuncCall ("Prelude","map") [Var 1,Var 4]])])),Func ("Prelude","foldl") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Var 2),Branch (Pattern ("Prelude",":") [4,5]) (Comb FuncCall ("Prelude","foldl") [Var 1,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 2],Var 4],Var 5])])),Func ("Prelude","foldl1") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("Prelude","foldl") [Var 1,Var 3,Var 4])])),Func ("Prelude","foldr") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (FuncType (TVar 1) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 1)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Var 2),Branch (Pattern ("Prelude",":") [4,5]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Comb FuncCall ("Prelude","foldr") [Var 1,Var 2,Var 5]])])),Func ("Prelude","foldr1") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [3,4]) (Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Var 3),Branch (Pattern ("Prelude",":") [5,6]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Comb FuncCall ("Prelude","foldr1") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Var 6]]])])])),Func ("Prelude","filter") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Var 3,Comb FuncCall ("Prelude","filter") [Var 1,Var 4]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","filter") [Var 1,Var 4])])])),Func ("Prelude","zip") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [5,6]) (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude","(,)") [Var 3,Var 5],Comb FuncCall ("Prelude","zip") [Var 4,Var 6]])])])),Func ("Prelude","zip3") 3 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 1]) (FuncType (TCons ("Prelude","[]") [TVar 2]) (TCons ("Prelude","[]") [TCons ("Prelude","(,,)") [TVar 0,TVar 1,TVar 2]])))) (Rule [1,2,3] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [4,5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [6,7]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [8,9]) (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude","(,,)") [Var 4,Var 6,Var 8],Comb FuncCall ("Prelude","zip3") [Var 5,Var 7,Var 9]])])])])),Func ("Prelude","zipWith") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 2])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [4,5]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [6,7]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 6],Comb FuncCall ("Prelude","zipWith") [Var 1,Var 5,Var 7]])])])),Func ("Prelude","zipWith3") 4 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 1]) (FuncType (TCons ("Prelude","[]") [TVar 2]) (TCons ("Prelude","[]") [TVar 3]))))) (Rule [1,2,3,4] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [5,6]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [7,8]) (Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [9,10]) (Comb ConsCall ("Prelude",":") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 5],Var 7],Var 9],Comb FuncCall ("Prelude","zipWith3") [Var 1,Var 6,Var 8,Var 10]])])])])),Func ("Prelude","unzip") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TVar 1]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,)") [4,5]) (Let [(6,Comb FuncCall ("Prelude","unzip") [Var 3])] (Let [(7,Comb FuncCall ("Prelude","unzip._#selFP3#xs") [Var 6])] (Let [(8,Comb FuncCall ("Prelude","unzip._#selFP4#ys") [Var 6])] (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 4,Var 7],Comb ConsCall ("Prelude",":") [Var 5,Var 8]]))))])])),Func ("Prelude","unzip._#selFP3#xs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 476],TCons ("Prelude","[]") [TVar 477]]) (TCons ("Prelude","[]") [TVar 476])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","unzip._#selFP4#ys") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 476],TCons ("Prelude","[]") [TVar 477]]) (TCons ("Prelude","[]") [TVar 477])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","unzip3") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]) (TCons ("Prelude","(,,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TVar 1],TCons ("Prelude","[]") [TVar 2]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,,)") [4,5,6]) (Let [(7,Comb FuncCall ("Prelude","unzip3") [Var 3])] (Let [(8,Comb FuncCall ("Prelude","unzip3._#selFP6#xs") [Var 7])] (Let [(9,Comb FuncCall ("Prelude","unzip3._#selFP7#ys") [Var 7])] (Let [(10,Comb FuncCall ("Prelude","unzip3._#selFP8#zs") [Var 7])] (Comb ConsCall ("Prelude","(,,)") [Comb ConsCall ("Prelude",":") [Var 4,Var 8],Comb ConsCall ("Prelude",":") [Var 5,Var 9],Comb ConsCall ("Prelude",":") [Var 6,Var 10]])))))])])),Func ("Prelude","unzip3._#selFP6#xs") 1 Private (FuncType (TCons ("Prelude","(,,)") [TCons ("Prelude","[]") [TVar 493],TCons ("Prelude","[]") [TVar 494],TCons ("Prelude","[]") [TVar 495]]) (TCons ("Prelude","[]") [TVar 493])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,)") [2,3,4]) (Var 2)])),Func ("Prelude","unzip3._#selFP7#ys") 1 Private (FuncType (TCons ("Prelude","(,,)") [TCons ("Prelude","[]") [TVar 493],TCons ("Prelude","[]") [TVar 494],TCons ("Prelude","[]") [TVar 495]]) (TCons ("Prelude","[]") [TVar 494])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,)") [2,3,4]) (Var 3)])),Func ("Prelude","unzip3._#selFP8#zs") 1 Private (FuncType (TCons ("Prelude","(,,)") [TCons ("Prelude","[]") [TVar 493],TCons ("Prelude","[]") [TVar 494],TCons ("Prelude","[]") [TVar 495]]) (TCons ("Prelude","[]") [TVar 495])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,,)") [2,3,4]) (Var 4)])),Func ("Prelude","concat") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TVar 0]]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","++") [],Comb ConsCall ("Prelude","[]") [],Var 1])),Func ("Prelude","concatMap") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 1])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 1]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","concat") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]])),Func ("Prelude","iterate") 2 Public (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Comb ConsCall ("Prelude",":") [Var 2,Comb FuncCall ("Prelude","iterate") [Var 1,Comb FuncCall ("Prelude","apply") [Var 1,Var 2]]])),Func ("Prelude","repeat") 1 Public (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Comb ConsCall ("Prelude",":") [Var 1,Comb FuncCall ("Prelude","repeat") [Var 1]])),Func ("Prelude","replicate") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Comb FuncCall ("Prelude","take") [Var 1,Comb FuncCall ("Prelude","repeat") [Var 2]])),Func ("Prelude","take") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Neg") [3]) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","Pos") [4]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [5,6]) (Comb ConsCall ("Prelude",":") [Var 5,Comb FuncCall ("Prelude","take") [Comb FuncCall ("Prelude","-") [Comb ConsCall ("Prelude","Pos") [Var 4],Lit (Intc 1)],Var 6]])])])),Func ("Prelude","drop") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","<=") [Var 1,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","drop.dropp.272") [Var 1,Var 2])])),Func ("Prelude","drop.dropp.272") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("Prelude","drop") [Comb FuncCall ("Prelude","-") [Var 1,Lit (Intc 1)],Var 4])])),Func ("Prelude","splitAt") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TVar 0]]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","<=") [Var 1,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Var 2]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","splitAt.splitAtp.282") [Var 1,Var 2])])),Func ("Prelude","splitAt.splitAtp.282") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TVar 0]]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [3,4]) (Let [(5,Comb FuncCall ("Prelude","splitAt") [Comb FuncCall ("Prelude","-") [Var 1,Lit (Intc 1)],Var 4])] (Let [(6,Comb FuncCall ("Prelude","splitAt.splitAtp.282._#selFP10#ys") [Var 5])] (Let [(7,Comb FuncCall ("Prelude","splitAt.splitAtp.282._#selFP11#zs") [Var 5])] (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 3,Var 6],Var 7]))))])),Func ("Prelude","splitAt.splitAtp.282._#selFP10#ys") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 576],TCons ("Prelude","[]") [TVar 576]]) (TCons ("Prelude","[]") [TVar 576])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","splitAt.splitAtp.282._#selFP11#zs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 576],TCons ("Prelude","[]") [TVar 576]]) (TCons ("Prelude","[]") [TVar 576])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","takeWhile") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude",":") [Var 3,Comb FuncCall ("Prelude","takeWhile") [Var 1,Var 4]]),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("Prelude","[]") [])])])),Func ("Prelude","dropWhile") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","dropWhile") [Var 1,Var 4]),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("Prelude",":") [Var 3,Var 4])])])),Func ("Prelude","span") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TVar 0]]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [3,4]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Var 1,Var 3]) [Branch (Pattern ("Prelude","True") []) (Let [(5,Comb FuncCall ("Prelude","span") [Var 1,Var 4])] (Let [(6,Comb FuncCall ("Prelude","span._#selFP13#ys") [Var 5])] (Let [(7,Comb FuncCall ("Prelude","span._#selFP14#zs") [Var 5])] (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 3,Var 6],Var 7])))),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude",":") [Var 3,Var 4]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("Prelude","span._#selFP13#ys") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 627],TCons ("Prelude","[]") [TVar 627]]) (TCons ("Prelude","[]") [TVar 627])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","span._#selFP14#zs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 627],TCons ("Prelude","[]") [TVar 627]]) (TCons ("Prelude","[]") [TVar 627])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","break") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TVar 0]]))) (Rule [1] (Comb (FuncPartCall 1) ("Prelude","span") [Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","not") [],Var 1]])),Func ("Prelude","lines") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [2,3]) (Let [(4,Comb FuncCall ("Prelude","lines.splitline.314") [Comb ConsCall ("Prelude",":") [Var 2,Var 3]])] (Let [(5,Comb FuncCall ("Prelude","lines._#selFP19#l") [Var 4])] (Let [(6,Comb FuncCall ("Prelude","lines._#selFP20#xs_l") [Var 4])] (Comb ConsCall ("Prelude",":") [Var 5,Comb FuncCall ("Prelude","lines") [Var 6]]))))])),Func ("Prelude","lines.splitline.314") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 2,Lit (Charc '\n')]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Var 3]),Branch (Pattern ("Prelude","False") []) (Let [(4,Comb FuncCall ("Prelude","lines.splitline.314") [Var 3])] (Let [(5,Comb FuncCall ("Prelude","lines.splitline.314._#selFP16#ds") [Var 4])] (Let [(6,Comb FuncCall ("Prelude","lines.splitline.314._#selFP17#es") [Var 4])] (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 2,Var 5],Var 6]))))])])),Func ("Prelude","lines.splitline.314._#selFP16#ds") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","lines.splitline.314._#selFP17#es") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","lines._#selFP19#l") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","lines._#selFP20#xs_l") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","unlines") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("Prelude","flip") [Comb (FuncPartCall 2) ("Prelude","++") [],Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Comb ConsCall ("Prelude","[]") []]]],Var 1])),Func ("Prelude","words") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Let [(2,Comb FuncCall ("Prelude","dropWhile") [Comb (FuncPartCall 1) ("Prelude","words.isSpace.326") [],Var 1])] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 2,Comb ConsCall ("Prelude","[]") []]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","False") []) (Let [(3,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","break") [Comb (FuncPartCall 1) ("Prelude","words.isSpace.326") []],Var 2])] (Let [(4,Comb FuncCall ("Prelude","words._#selFP22#w") [Var 3])] (Let [(5,Comb FuncCall ("Prelude","words._#selFP23#s2") [Var 3])] (Comb ConsCall ("Prelude",":") [Var 4,Comb FuncCall ("Prelude","words") [Var 5]]))))]))),Func ("Prelude","words.isSpace.326") 1 Private (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","||") [Comb FuncCall ("Prelude","==") [Var 1,Lit (Charc ' ')],Comb FuncCall ("Prelude","||") [Comb FuncCall ("Prelude","==") [Var 1,Lit (Charc '\t')],Comb FuncCall ("Prelude","||") [Comb FuncCall ("Prelude","==") [Var 1,Lit (Charc '\n')],Comb FuncCall ("Prelude","==") [Var 1,Lit (Charc '\r')]]]])),Func ("Prelude","words._#selFP22#w") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","words._#selFP23#s2") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","unwords") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Comb ConsCall ("Prelude","[]") []]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","foldr1") [Comb (FuncPartCall 2) ("Prelude","unwords._#lambda6") [],Var 1])])),Func ("Prelude","unwords._#lambda6") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Var 2]])),Func ("Prelude","reverse") 0 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","foldl") [Comb (FuncPartCall 2) ("Prelude","flip") [Comb (ConsPartCall 2) ("Prelude",":") []],Comb ConsCall ("Prelude","[]") []])),Func ("Prelude","and") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","&&") [],Comb ConsCall ("Prelude","True") []])),Func ("Prelude","or") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","||") [],Comb ConsCall ("Prelude","False") []])),Func ("Prelude","any") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("Prelude","or") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]])),Func ("Prelude","all") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("Prelude","and") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]])),Func ("Prelude","elem") 1 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb FuncCall ("Prelude","any") [Comb (FuncPartCall 1) ("Prelude","==") [Var 1]])),Func ("Prelude","notElem") 1 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb FuncCall ("Prelude","all") [Comb (FuncPartCall 1) ("Prelude","/=") [Var 1]])),Func ("Prelude","lookup") 2 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("Prelude","Maybe") [TVar 1]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","Nothing") []),Branch (Pattern ("Prelude",":") [3,4]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","(,)") [5,6]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Var 5]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","Just") [Var 6]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","lookup") [Var 1,Var 4]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("Prelude","enumFrom") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [1] (Comb ConsCall ("Prelude",":") [Var 1,Comb FuncCall ("Prelude","enumFrom") [Comb FuncCall ("Prelude","+") [Var 1,Lit (Intc 1)]]])),Func ("Prelude","enumFromThen") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","iterate") [Comb (FuncPartCall 1) ("Prelude","+") [Comb FuncCall ("Prelude","-") [Var 2,Var 1]],Var 1])),Func ("Prelude","enumFromTo") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude",">") [Var 1,Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","False") []) (Comb ConsCall ("Prelude",":") [Var 1,Comb FuncCall ("Prelude","enumFromTo") [Comb FuncCall ("Prelude","+") [Var 1,Lit (Intc 1)],Var 2]])])),Func ("Prelude","enumFromThenTo") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","takeWhile") [Comb (FuncPartCall 1) ("Prelude","enumFromThenTo.p.364") [Var 3,Var 1,Var 2],Comb FuncCall ("Prelude","enumFromThen") [Var 1,Var 2]])),Func ("Prelude","enumFromThenTo.p.364") 4 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))))) (Rule [1,2,3,4] (Case Rigid (Comb FuncCall ("Prelude",">=") [Var 3,Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","<=") [Var 4,Var 1]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude",">=") [Var 4,Var 1]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("Prelude","ord") 1 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("Prelude","prim_ord") [],Var 1])),Func ("Prelude","prim_ord") 1 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","Int") [])) (External "Prelude.prim_ord"),Func ("Prelude","chr") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Char") [])) (Rule [1] (Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("Prelude","prim_chr") [],Var 1])),Func ("Prelude","prim_chr") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Char") [])) (External "Prelude.prim_chr"),Func ("Prelude","succ") 1 Public (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","O") [2]) (Comb ConsCall ("Prelude","I") [Var 2]),Branch (Pattern ("Prelude","I") [3]) (Comb ConsCall ("Prelude","O") [Comb FuncCall ("Prelude","succ") [Var 3]]),Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","O") [Comb ConsCall ("Prelude","IHi") []])])),Func ("Prelude","+^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","O") [3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","O") [4]) (Comb ConsCall ("Prelude","O") [Comb FuncCall ("Prelude","+^") [Var 3,Var 4]]),Branch (Pattern ("Prelude","I") [5]) (Comb ConsCall ("Prelude","I") [Comb FuncCall ("Prelude","+^") [Var 3,Var 5]]),Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","I") [Var 3])]),Branch (Pattern ("Prelude","I") [6]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","O") [7]) (Comb ConsCall ("Prelude","I") [Comb FuncCall ("Prelude","+^") [Var 6,Var 7]]),Branch (Pattern ("Prelude","I") [8]) (Comb ConsCall ("Prelude","O") [Comb FuncCall ("Prelude","+^") [Comb FuncCall ("Prelude","succ") [Var 6],Var 8]]),Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","O") [Comb FuncCall ("Prelude","succ") [Var 6]])]),Branch (Pattern ("Prelude","IHi") []) (Comb FuncCall ("Prelude","succ") [Var 2])])),Func ("Prelude","cmpNat") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Ordering") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","IHi") []) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","EQ") []),Branch (Pattern ("Prelude","O") [3]) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","I") [4]) (Comb ConsCall ("Prelude","LT") [])]),Branch (Pattern ("Prelude","O") [5]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","GT") []),Branch (Pattern ("Prelude","O") [6]) (Comb FuncCall ("Prelude","cmpNat") [Var 5,Var 6]),Branch (Pattern ("Prelude","I") [7]) (Comb FuncCall ("Prelude","cmpNatLT") [Var 5,Var 7])]),Branch (Pattern ("Prelude","I") [8]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","GT") []),Branch (Pattern ("Prelude","I") [9]) (Comb FuncCall ("Prelude","cmpNat") [Var 8,Var 9]),Branch (Pattern ("Prelude","O") [10]) (Comb FuncCall ("Prelude","cmpNatGT") [Var 8,Var 10])])])),Func ("Prelude","cmpNatLT") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Ordering") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","O") [3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","GT") []),Branch (Pattern ("Prelude","O") [4]) (Comb FuncCall ("Prelude","cmpNatLT") [Var 3,Var 4]),Branch (Pattern ("Prelude","I") [5]) (Comb FuncCall ("Prelude","cmpNatLT") [Var 3,Var 5])]),Branch (Pattern ("Prelude","I") [6]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","GT") []),Branch (Pattern ("Prelude","I") [7]) (Comb FuncCall ("Prelude","cmpNatLT") [Var 6,Var 7]),Branch (Pattern ("Prelude","O") [8]) (Comb FuncCall ("Prelude","cmpNatGT") [Var 6,Var 8])])])),Func ("Prelude","cmpNatGT") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Ordering") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","GT") []),Branch (Pattern ("Prelude","O") [3]) (Case Flex (Var 1) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","O") [4]) (Comb FuncCall ("Prelude","cmpNatGT") [Var 4,Var 3]),Branch (Pattern ("Prelude","I") [5]) (Comb FuncCall ("Prelude","cmpNatGT") [Var 5,Var 3])]),Branch (Pattern ("Prelude","I") [6]) (Case Flex (Var 1) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","LT") []),Branch (Pattern ("Prelude","I") [7]) (Comb FuncCall ("Prelude","cmpNatGT") [Var 7,Var 6]),Branch (Pattern ("Prelude","O") [8]) (Comb FuncCall ("Prelude","cmpNatLT") [Var 8,Var 6])])])),Func ("Prelude","<^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","isLT") [Comb FuncCall ("Prelude","cmpNat") [Var 1,Var 2]])),Func ("Prelude",">^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","isGT") [Comb FuncCall ("Prelude","cmpNat") [Var 1,Var 2]])),Func ("Prelude","<=^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","isGT") [Comb FuncCall ("Prelude","cmpNat") [Var 1,Var 2]]])),Func ("Prelude",">=^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","isLT") [Comb FuncCall ("Prelude","cmpNat") [Var 1,Var 2]]])),Func ("Prelude","*^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","IHi") []) (Var 2),Branch (Pattern ("Prelude","I") [3]) (Comb FuncCall ("Prelude","+^") [Comb ConsCall ("Prelude","O") [Comb FuncCall ("Prelude","*^") [Var 2,Var 3]],Var 2]),Branch (Pattern ("Prelude","O") [4]) (Comb ConsCall ("Prelude","O") [Comb FuncCall ("Prelude","*^") [Var 4,Var 2]])])),Func ("Prelude","pred") 1 Public (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","O") [2]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","IHi") []),Branch (Pattern ("Prelude","O") [3]) (Comb ConsCall ("Prelude","I") [Comb FuncCall ("Prelude","pred") [Var 2]]),Branch (Pattern ("Prelude","I") [4]) (Comb ConsCall ("Prelude","I") [Comb ConsCall ("Prelude","O") [Var 4]])]),Branch (Pattern ("Prelude","I") [5]) (Comb ConsCall ("Prelude","O") [Var 5])])),Func ("Prelude","inc") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","IHi") []]),Branch (Pattern ("Prelude","Pos") [2]) (Comb ConsCall ("Prelude","Pos") [Comb FuncCall ("Prelude","succ") [Var 2]]),Branch (Pattern ("Prelude","Neg") [3]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","Zero") []),Branch (Pattern ("Prelude","O") [4]) (Comb ConsCall ("Prelude","Neg") [Comb FuncCall ("Prelude","pred") [Comb ConsCall ("Prelude","O") [Var 4]]]),Branch (Pattern ("Prelude","I") [5]) (Comb ConsCall ("Prelude","Neg") [Comb ConsCall ("Prelude","O") [Var 5]])])])),Func ("Prelude","dec") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","Neg") [Comb ConsCall ("Prelude","IHi") []]),Branch (Pattern ("Prelude","Neg") [2]) (Comb ConsCall ("Prelude","Neg") [Comb FuncCall ("Prelude","succ") [Var 2]]),Branch (Pattern ("Prelude","Pos") [3]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","Zero") []),Branch (Pattern ("Prelude","O") [4]) (Comb ConsCall ("Prelude","Pos") [Comb FuncCall ("Prelude","pred") [Comb ConsCall ("Prelude","O") [Var 4]]]),Branch (Pattern ("Prelude","I") [5]) (Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","O") [Var 5]])])])),Func ("Prelude","mult2") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Pos") [2]) (Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","O") [Var 2]]),Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","Zero") []),Branch (Pattern ("Prelude","Neg") [3]) (Comb ConsCall ("Prelude","Neg") [Comb ConsCall ("Prelude","O") [Var 3]])])),Func ("Prelude","-^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","IHi") []) (Comb FuncCall ("Prelude","inc") [Comb ConsCall ("Prelude","Neg") [Var 2]]),Branch (Pattern ("Prelude","O") [3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","Pos") [Comb FuncCall ("Prelude","pred") [Comb ConsCall ("Prelude","O") [Var 3]]]),Branch (Pattern ("Prelude","O") [4]) (Comb FuncCall ("Prelude","mult2") [Comb FuncCall ("Prelude","-^") [Var 3,Var 4]]),Branch (Pattern ("Prelude","I") [5]) (Comb FuncCall ("Prelude","dec") [Comb FuncCall ("Prelude","mult2") [Comb FuncCall ("Prelude","-^") [Var 3,Var 5]]])]),Branch (Pattern ("Prelude","I") [6]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","O") [Var 6]]),Branch (Pattern ("Prelude","O") [7]) (Comb FuncCall ("Prelude","inc") [Comb FuncCall ("Prelude","mult2") [Comb FuncCall ("Prelude","-^") [Var 6,Var 7]]]),Branch (Pattern ("Prelude","I") [8]) (Comb FuncCall ("Prelude","mult2") [Comb FuncCall ("Prelude","-^") [Var 6,Var 8]])])])),Func ("Prelude","div2") 1 Public (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","O") [2]) (Var 2),Branch (Pattern ("Prelude","I") [3]) (Var 3)])),Func ("Prelude","mod2") 1 Public (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","IHi") []) (Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","IHi") []]),Branch (Pattern ("Prelude","O") [2]) (Comb ConsCall ("Prelude","Zero") []),Branch (Pattern ("Prelude","I") [3]) (Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","IHi") []])])),Func ("Prelude","divmodNat") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 2,Comb ConsCall ("Prelude","IHi") []]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Pos") [Var 1],Comb ConsCall ("Prelude","Zero") []]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Comb FuncCall ("Prelude","cmpNat") [Var 1,Var 2]) [Branch (Pattern ("Prelude","EQ") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","IHi") []],Comb ConsCall ("Prelude","Zero") []]),Branch (Pattern ("Prelude","LT") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Zero") [],Comb ConsCall ("Prelude","Pos") [Var 1]]),Branch (Pattern ("Prelude","GT") []) (Case Rigid (Comb FuncCall ("Prelude","divmodNat") [Comb FuncCall ("Prelude","div2") [Var 1],Var 2]) [Branch (Pattern ("Prelude","(,)") [3,4]) (Case Rigid (Var 3) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","IHi") []],Comb FuncCall ("Prelude","-^") [Var 1,Var 2]]),Branch (Pattern ("Prelude","Pos") [5]) (Case Rigid (Var 4) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","O") [Var 5]],Comb FuncCall ("Prelude","mod2") [Var 1]]),Branch (Pattern ("Prelude","Pos") [6]) (Case Rigid (Comb FuncCall ("Prelude","divmodNat") [Comb FuncCall ("Prelude","divmodNat.shift.523") [Var 1,Var 6],Var 2]) [Branch (Pattern ("Prelude","(,)") [7,8]) (Case Rigid (Var 7) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Pos") [Comb ConsCall ("Prelude","O") [Var 5]],Var 8]),Branch (Pattern ("Prelude","Pos") [9]) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Pos") [Comb FuncCall ("Prelude","+^") [Comb ConsCall ("Prelude","O") [Var 5],Var 9]],Var 8]),Branch (Pattern ("Prelude","Neg") [10]) (Comb FuncCall ("Prelude","failed") [])])]),Branch (Pattern ("Prelude","Neg") [11]) (Comb FuncCall ("Prelude","failed") [])]),Branch (Pattern ("Prelude","Neg") [12]) (Comb FuncCall ("Prelude","failed") [])])])]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])),Func ("Prelude","divmodNat.shift.523") 2 Private (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","O") [3]) (Comb ConsCall ("Prelude","O") [Var 2]),Branch (Pattern ("Prelude","I") [4]) (Comb ConsCall ("Prelude","I") [Var 2])])),Func ("Prelude","+") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Pos") [3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Pos") [4]) (Comb ConsCall ("Prelude","Pos") [Comb FuncCall ("Prelude","+^") [Var 3,Var 4]]),Branch (Pattern ("Prelude","Neg") [5]) (Comb FuncCall ("Prelude","-^") [Var 3,Var 5]),Branch (Pattern ("Prelude","Zero") []) (Var 1)]),Branch (Pattern ("Prelude","Neg") [6]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Neg") [7]) (Comb ConsCall ("Prelude","Neg") [Comb FuncCall ("Prelude","+^") [Var 6,Var 7]]),Branch (Pattern ("Prelude","Pos") [8]) (Comb FuncCall ("Prelude","-^") [Var 8,Var 6]),Branch (Pattern ("Prelude","Zero") []) (Var 1)]),Branch (Pattern ("Prelude","Zero") []) (Var 2)])),Func ("Prelude","-") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","Neg") [3]) (Comb FuncCall ("Prelude","+") [Var 1,Comb ConsCall ("Prelude","Pos") [Var 3]]),Branch (Pattern ("Prelude","Pos") [4]) (Comb FuncCall ("Prelude","+") [Var 1,Comb ConsCall ("Prelude","Neg") [Var 4]]),Branch (Pattern ("Prelude","Zero") []) (Var 1)])),Func ("Prelude","*") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Pos") [3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Pos") [4]) (Comb ConsCall ("Prelude","Pos") [Comb FuncCall ("Prelude","*^") [Var 3,Var 4]]),Branch (Pattern ("Prelude","Neg") [5]) (Comb ConsCall ("Prelude","Neg") [Comb FuncCall ("Prelude","*^") [Var 3,Var 5]]),Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","Zero") [])]),Branch (Pattern ("Prelude","Neg") [6]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Neg") [7]) (Comb ConsCall ("Prelude","Pos") [Comb FuncCall ("Prelude","*^") [Var 6,Var 7]]),Branch (Pattern ("Prelude","Pos") [8]) (Comb ConsCall ("Prelude","Neg") [Comb FuncCall ("Prelude","*^") [Var 6,Var 8]]),Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","Zero") [])]),Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","Zero") [])])),Func ("Prelude","divmod") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","Zero") [],Comb ConsCall ("Prelude","Zero") []]),Branch (Pattern ("Prelude","Pos") [3]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Zero") []) (Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'v'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),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 ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc '0'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]),Branch (Pattern ("Prelude","Pos") [4]) (Comb FuncCall ("Prelude","divmodNat") [Var 3,Var 4]),Branch (Pattern ("Prelude","Neg") [5]) (Let [(6,Comb FuncCall ("Prelude","divmodNat") [Var 3,Var 5])] (Let [(7,Comb FuncCall ("Prelude","divmod._#selFP25#d") [Var 6])] (Let [(8,Comb FuncCall ("Prelude","divmod._#selFP26#m") [Var 6])] (Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Prelude","negate") [Var 7],Var 8]))))]),Branch (Pattern ("Prelude","Neg") [9]) (Case Flex (Var 2) [Branch (Pattern ("Prelude","Zero") []) (Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'v'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),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 ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc '0'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]),Branch (Pattern ("Prelude","Pos") [10]) (Let [(11,Comb FuncCall ("Prelude","divmodNat") [Var 9,Var 10])] (Let [(12,Comb FuncCall ("Prelude","divmod._#selFP28#d") [Var 11])] (Let [(13,Comb FuncCall ("Prelude","divmod._#selFP29#m") [Var 11])] (Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Prelude","negate") [Var 12],Comb FuncCall ("Prelude","negate") [Var 13]])))),Branch (Pattern ("Prelude","Neg") [14]) (Let [(15,Comb FuncCall ("Prelude","divmodNat") [Var 9,Var 14])] (Let [(16,Comb FuncCall ("Prelude","divmod._#selFP31#d") [Var 15])] (Let [(17,Comb FuncCall ("Prelude","divmod._#selFP32#m") [Var 15])] (Comb ConsCall ("Prelude","(,)") [Var 16,Comb FuncCall ("Prelude","negate") [Var 17]]))))])])),Func ("Prelude","divmod._#selFP25#d") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","divmod._#selFP26#m") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","divmod._#selFP28#d") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","divmod._#selFP29#m") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","divmod._#selFP31#d") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","divmod._#selFP32#m") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","div") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Comb FuncCall ("Prelude","fst") [Comb FuncCall ("Prelude","divmod") [Var 1,Var 2]])),Func ("Prelude","mod") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [1,2] (Comb FuncCall ("Prelude","snd") [Comb FuncCall ("Prelude","divmod") [Var 1,Var 2]])),Func ("Prelude","negate") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Zero") []) (Comb ConsCall ("Prelude","Zero") []),Branch (Pattern ("Prelude","Pos") [2]) (Comb ConsCall ("Prelude","Neg") [Var 2]),Branch (Pattern ("Prelude","Neg") [3]) (Comb ConsCall ("Prelude","Pos") [Var 3])])),Func ("Prelude","success") 0 Public (TCons ("Prelude","Success") []) (Rule [] (Comb ConsCall ("Prelude","Success") [])),Func ("Prelude","=:=") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Success") []))) (Rule [1,2] (Case Rigid (Comb FuncCall ("Prelude","===") [Var 1,Var 2]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","success") []),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])),Func ("Prelude","===") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (External "Prelude.==="),Func ("Prelude","&") 2 Public (FuncType (TCons ("Prelude","Success") []) (FuncType (TCons ("Prelude","Success") []) (TCons ("Prelude","Success") []))) (External "Prelude.&"),Func ("Prelude","&>") 2 Public (FuncType (TCons ("Prelude","Success") []) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Comb FuncCall ("Prelude","cond") [Var 1,Var 2])),Func ("Prelude","maybe") 3 Public (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (TVar 0)) (FuncType (TCons ("Prelude","Maybe") [TVar 1]) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","Nothing") []) (Var 1),Branch (Pattern ("Prelude","Just") [4]) (Comb FuncCall ("Prelude","apply") [Var 2,Var 4])])),Func ("Prelude","either") 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 1)) (FuncType (TCons ("Prelude","Either") [TVar 0,TVar 2]) (TVar 1)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Prelude","Left") [4]) (Comb FuncCall ("Prelude","apply") [Var 1,Var 4]),Branch (Pattern ("Prelude","Right") [5]) (Comb FuncCall ("Prelude","apply") [Var 2,Var 5])])),Func ("Prelude",">>=") 2 Public (FuncType (TCons ("Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 1])) (TCons ("Prelude","IO") [TVar 1]))) (External "Prelude.>>="),Func ("Prelude","return") 1 Public (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 0])) (External "Prelude.return"),Func ("Prelude",">>") 2 Public (FuncType (TCons ("Prelude","IO") [TVar 0]) (FuncType (TCons ("Prelude","IO") [TVar 1]) (TCons ("Prelude","IO") [TVar 1]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Var 1,Comb (FuncPartCall 1) ("Prelude","const") [Var 2]])),Func ("Prelude","done") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (Rule [] (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","()") []])),Func ("Prelude","putChar") 1 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("Prelude","prim_putChar") [],Var 1])),Func ("Prelude","prim_putChar") 1 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (External "Prelude.prim_putChar"),Func ("Prelude","getChar") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","Char") []]) (External "Prelude.getChar"),Func ("Prelude","readFile") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("Prelude","prim_readFile") [],Var 1])),Func ("Prelude","prim_readFile") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (External "Prelude.prim_readFile"),Func ("Prelude","writeFile") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","$##") [Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 2) ("Prelude","prim_writeFile") [],Var 1],Var 2])),Func ("Prelude","prim_writeFile") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (External "Prelude.prim_writeFile"),Func ("Prelude","appendFile") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","$##") [Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 2) ("Prelude","prim_appendFile") [],Var 1],Var 2])),Func ("Prelude","prim_appendFile") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (External "Prelude.prim_appendFile"),Func ("Prelude","catchFail") 2 Public (FuncType (TCons ("Prelude","IO") [TVar 0]) (FuncType (TCons ("Prelude","IO") [TVar 0]) (TCons ("Prelude","IO") [TVar 0]))) (External "Prelude.catchFail"),Func ("Prelude","putStr") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","done") []),Branch (Pattern ("Prelude",":") [2,3]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putChar") [Var 2],Comb FuncCall ("Prelude","putStr") [Var 3]])])),Func ("Prelude","putStrLn") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStr") [Var 1],Comb FuncCall ("Prelude","putChar") [Lit (Charc '\n')]])),Func ("Prelude","getLine") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (Rule [] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","getChar") [],Comb (FuncPartCall 1) ("Prelude","getLine._#lambda10") []])),Func ("Prelude","getLine._#lambda10") 1 Private (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [1] (Case Rigid (Comb FuncCall ("Prelude","==") [Var 1,Lit (Charc '\n')]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","getLine") [],Comb (FuncPartCall 1) ("Prelude","getLine._#lambda10._#lambda11") [Var 1]])])),Func ("Prelude","getLine._#lambda10._#lambda11") 2 Private (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (Rule [1,2] (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude",":") [Var 1,Var 2]])),Func ("Prelude","show") 1 Public (FuncType (TVar 0) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [1] (Comb FuncCall ("Prelude","$##") [Comb (FuncPartCall 1) ("Prelude","prim_show") [],Var 1])),Func ("Prelude","prim_show") 1 Public (FuncType (TVar 0) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (External "Prelude.prim_show"),Func ("Prelude","print") 1 Public (FuncType (TVar 0) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude","putStrLn") [Comb FuncCall ("Prelude","show") [Var 1]])),Func ("Prelude","doSolve") 1 Public (FuncType (TCons ("Prelude","Success") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude","cond") [Var 1,Comb FuncCall ("Prelude","done") []])),Func ("Prelude","sequenceIO") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","IO") [TVar 0]]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TVar 0]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Comb FuncCall ("Prelude",">>=") [Var 2,Comb (FuncPartCall 1) ("Prelude","sequenceIO._#lambda12") [Var 3]])])),Func ("Prelude","sequenceIO._#lambda12") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","IO") [TVar 937]]) (FuncType (TVar 937) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TVar 937]]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","sequenceIO") [Var 1],Comb (FuncPartCall 1) ("Prelude","sequenceIO._#lambda12._#lambda13") [Var 2]])),Func ("Prelude","sequenceIO._#lambda12._#lambda13") 2 Private (FuncType (TVar 937) (FuncType (TCons ("Prelude","[]") [TVar 937]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TVar 937]]))) (Rule [1,2] (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude",":") [Var 1,Var 2]])),Func ("Prelude","sequenceIO_") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","IO") [TVar 0]]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Comb (FuncPartCall 1) ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude",">>") [],Comb FuncCall ("Prelude","done") []])),Func ("Prelude","mapIO") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 1])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TVar 1]]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Prelude","sequenceIO") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]])),Func ("Prelude","mapIO_") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 1])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb FuncCall ("Prelude","sequenceIO_") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]])),Func ("Prelude","?") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Or (Var 1) (Var 2))),Func ("Prelude","getSearchTree") 1 Public (FuncType (TVar 0) (TCons ("Prelude","IO") [TCons ("Prelude","SearchTree") [TVar 0]])) (External "Prelude.getSearchTree"),Func ("Prelude","allValuesD") 1 Public (FuncType (TCons ("Prelude","SearchTree") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Value") [2]) (Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","Fail") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","Suspend") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","Choice") [3]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","concatMap") [Comb (FuncPartCall 1) ("Prelude","allValuesD") []],Var 3])])),Func ("Prelude","allValuesB") 1 Public (FuncType (TCons ("Prelude","SearchTree") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Comb FuncCall ("Prelude","allValuesB.unfoldOrs.692") [Comb ConsCall ("Prelude",":") [Var 1,Comb ConsCall ("Prelude","[]") []]])),Func ("Prelude","allValuesB.partition.692") 2 Private (FuncType (TCons ("Prelude","SearchTree") [TVar 0]) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 0]]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 0]]]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Value") [3]) (Let [(4,Var 2)] (Let [(5,Comb FuncCall ("Prelude","allValuesB.partition.692._#selFP34#vs") [Var 4])] (Let [(6,Comb FuncCall ("Prelude","allValuesB.partition.692._#selFP35#ors") [Var 4])] (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 3,Var 5],Var 6])))),Branch (Pattern ("Prelude","Choice") [7]) (Let [(8,Var 2)] (Let [(9,Comb FuncCall ("Prelude","allValuesB.partition.692._#selFP37#vs") [Var 8])] (Let [(10,Comb FuncCall ("Prelude","allValuesB.partition.692._#selFP38#ors") [Var 8])] (Comb ConsCall ("Prelude","(,)") [Var 9,Comb FuncCall ("Prelude","++") [Var 7,Var 10]])))),Branch (Pattern ("Prelude","Fail") []) (Var 2),Branch (Pattern ("Prelude","Suspend") []) (Var 2)])),Func ("Prelude","allValuesB.partition.692._#selFP34#vs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1001],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1001]]]) (TCons ("Prelude","[]") [TVar 1001])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","allValuesB.partition.692._#selFP35#ors") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1001],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1001]]]) (TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1001]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","allValuesB.partition.692._#selFP37#vs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1001],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1001]]]) (TCons ("Prelude","[]") [TVar 1001])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","allValuesB.partition.692._#selFP38#ors") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1001],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1001]]]) (TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1001]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","allValuesB.unfoldOrs.692") 1 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 0]]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude",":") [2,3]) (Let [(4,Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Prelude","allValuesB.partition.692") [],Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("Prelude",":") [Var 2,Var 3]])] (Let [(5,Comb FuncCall ("Prelude","allValuesB.unfoldOrs.692._#selFP40#vals") [Var 4])] (Let [(6,Comb FuncCall ("Prelude","allValuesB.unfoldOrs.692._#selFP41#ors") [Var 4])] (Comb FuncCall ("Prelude","++") [Var 5,Comb FuncCall ("Prelude","allValuesB.unfoldOrs.692") [Var 6]]))))])),Func ("Prelude","allValuesB.unfoldOrs.692._#selFP40#vals") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1014],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1014]]]) (TCons ("Prelude","[]") [TVar 1014])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Prelude","allValuesB.unfoldOrs.692._#selFP41#ors") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1014],TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1014]]]) (TCons ("Prelude","[]") [TCons ("Prelude","SearchTree") [TVar 1014]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Prelude","inject") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Success") [])) (FuncType (FuncType (TVar 0) (TCons ("Prelude","Success") [])) (FuncType (TVar 0) (TCons ("Prelude","Success") [])))) (Rule [1,2] (Comb (FuncPartCall 1) ("Prelude","inject._#lambda14") [Var 1,Var 2])),Func ("Prelude","inject._#lambda14") 3 Private (FuncType (FuncType (TVar 1025) (TCons ("Prelude","Success") [])) (FuncType (FuncType (TVar 1025) (TCons ("Prelude","Success") [])) (FuncType (TVar 1025) (TCons ("Prelude","Success") [])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","&") [Comb FuncCall ("Prelude","apply") [Var 2,Var 3],Comb FuncCall ("Prelude","apply") [Var 1,Var 3]])),Func ("Prelude","PEVAL") 1 Public (FuncType (TVar 0) (TVar 0)) (Rule [1] (Var 1)),Func ("Prelude","apply") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.apply"),Func ("Prelude","cond") 2 Public (FuncType (TCons ("Prelude","Success") []) (FuncType (TVar 0) (TVar 0))) (External "Prelude.cond"),Func ("Prelude","unknown") 0 Public (TVar 0) (Rule [] (Free [1] (Var 1))),Func ("Prelude","=:<=") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Success") []))) (External "Prelude.=:<=")] [Op ("Prelude","!!") InfixlOp 9,Op ("Prelude",".") InfixrOp 9,Op ("Prelude","*") InfixlOp 7,Op ("Prelude","*^") InfixlOp 7,Op ("Prelude","div") InfixlOp 7,Op ("Prelude","mod") InfixlOp 7,Op ("Prelude","+") InfixlOp 6,Op ("Prelude","+^") InfixlOp 6,Op ("Prelude","-") InfixlOp 6,Op ("Prelude","-^") InfixlOp 6,Op ("Prelude","++") InfixrOp 5,Op ("Prelude","=:=") InfixOp 4,Op ("Prelude","==") InfixOp 4,Op ("Prelude","===") InfixOp 4,Op ("Prelude","/=") InfixOp 4,Op ("Prelude","<") InfixOp 4,Op ("Prelude",">") InfixOp 4,Op ("Prelude","<=") InfixOp 4,Op ("Prelude",">=") InfixOp 4,Op ("Prelude","=:<=") InfixOp 4,Op ("Prelude","<^") InfixOp 4,Op ("Prelude","<=^") InfixOp 4,Op ("Prelude",">^") InfixOp 4,Op ("Prelude",">=^") InfixOp 4,Op ("Prelude","elem") InfixOp 4,Op ("Prelude","notElem") InfixOp 4,Op ("Prelude","&&") InfixrOp 3,Op ("Prelude","||") InfixrOp 2,Op ("Prelude",">>") InfixlOp 1,Op ("Prelude",">>=") InfixlOp 1,Op ("Prelude","$") InfixrOp 0,Op ("Prelude","$!") InfixrOp 0,Op ("Prelude","$!!") InfixrOp 0,Op ("Prelude","$#") InfixrOp 0,Op ("Prelude","$##") InfixrOp 0,Op ("Prelude","seq") InfixrOp 0,Op ("Prelude","&") InfixrOp 0,Op ("Prelude","&>") InfixrOp 0,Op ("Prelude","?") InfixrOp 0]