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 [] (Var 0)),Func ("Prelude","id") 1 Public (FuncType (TVar 0) (TVar 0)) (Rule [] (Var 0)),Func ("Prelude","const") 2 Public (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (Rule [] (Var 0)),Func ("Prelude","curry") 3 Public (FuncType (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 2)) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2)))) (Rule [] (Var 0)),Func ("Prelude","uncurry") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 2))) (Rule [] (Var 0)),Func ("Prelude","flip") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TVar 1) (FuncType (TVar 0) (TVar 2)))) (Rule [] (Var 0)),Func ("Prelude","until") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Prelude","$") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","seq") 2 Public (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (Rule [] (Var 0)),Func ("Prelude","error") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TVar 0)) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","||") 2 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","not") 1 Public (FuncType (TCons ("Prelude","Bool") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Prelude","otherwise") 0 Public (TCons ("Prelude","Bool") []) (Rule [] (Var 0)),Func ("Prelude","if_then_else") 3 Public (FuncType (TCons ("Prelude","Bool") []) (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Prelude","isLT") 1 Public (FuncType (TCons ("Prelude","Ordering") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Prelude","isGT") 1 Public (FuncType (TCons ("Prelude","Ordering") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Prelude","isEQ") 1 Public (FuncType (TCons ("Prelude","Ordering") []) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Prelude","compare") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Ordering") []))) (Rule [] (Var 0)),Func ("Prelude","<") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude",">") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","<=") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude",">=") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","max") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),Func ("Prelude","min") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","fst") 1 Public (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 0)) (Rule [] (Var 0)),Func ("Prelude","snd") 1 Public (FuncType (TCons ("Prelude","(,)") [TVar 0,TVar 1]) (TVar 1)) (Rule [] (Var 0)),Func ("Prelude","head") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)) (Rule [] (Var 0)),Func ("Prelude","tail") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Var 0)),Func ("Prelude","null") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Prelude","++") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),Func ("Prelude","length") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),Func ("Prelude","!!") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (TVar 0))) (Rule [] (Var 0)),Func ("Prelude","map") 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 1]))) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","foldl1") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0))) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","foldr1") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0))) (Rule [] (Var 0)),Func ("Prelude","filter") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),Func ("Prelude","zip") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]))) (Rule [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),Func ("Prelude","concat") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TVar 0]]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Var 0)),Func ("Prelude","concatMap") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 1])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 1]))) (Rule [] (Var 0)),Func ("Prelude","iterate") 2 Public (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),Func ("Prelude","repeat") 1 Public (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Var 0)),Func ("Prelude","replicate") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),Func ("Prelude","take") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),Func ("Prelude","drop") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","takeWhile") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),Func ("Prelude","dropWhile") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),Func ("Prelude","lines") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Var 0)),Func ("Prelude","unlines") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Var 0)),Func ("Prelude","words") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])) (Rule [] (Var 0)),Func ("Prelude","unwords") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Var 0)),Func ("Prelude","reverse") 0 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Var 0)),Func ("Prelude","and") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Prelude","or") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (TCons ("Prelude","Bool") [])) (Rule [] (Var 0)),Func ("Prelude","any") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","all") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Bool") [])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","elem") 1 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","notElem") 1 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","lookup") 2 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("Prelude","Maybe") [TVar 1]))) (Rule [] (Var 0)),Func ("Prelude","enumFrom") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])) (Rule [] (Var 0)),Func ("Prelude","enumFromThen") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [] (Var 0)),Func ("Prelude","enumFromTo") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [] (Var 0)),Func ("Prelude","enumFromThenTo") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [] (Var 0)),Func ("Prelude","ord") 1 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),Func ("Prelude","+^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") []))) (Rule [] (Var 0)),Func ("Prelude","cmpNat") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Ordering") []))) (Rule [] (Var 0)),Func ("Prelude","cmpNatLT") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Ordering") []))) (Rule [] (Var 0)),Func ("Prelude","cmpNatGT") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Ordering") []))) (Rule [] (Var 0)),Func ("Prelude","<^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude",">^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","<=^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude",">=^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Bool") []))) (Rule [] (Var 0)),Func ("Prelude","*^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") []))) (Rule [] (Var 0)),Func ("Prelude","pred") 1 Public (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") [])) (Rule [] (Var 0)),Func ("Prelude","inc") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),Func ("Prelude","dec") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),Func ("Prelude","mult2") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),Func ("Prelude","-^") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),Func ("Prelude","div2") 1 Public (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Nat") [])) (Rule [] (Var 0)),Func ("Prelude","mod2") 1 Public (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),Func ("Prelude","divmodNat") 2 Public (FuncType (TCons ("Prelude","Nat") []) (FuncType (TCons ("Prelude","Nat") []) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]))) (Rule [] (Var 0)),Func ("Prelude","+") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),Func ("Prelude","-") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),Func ("Prelude","*") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),Func ("Prelude","divmod") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("Prelude","Int") []]))) (Rule [] (Var 0)),Func ("Prelude","div") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),Func ("Prelude","mod") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (Rule [] (Var 0)),Func ("Prelude","negate") 1 Public (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [] (Var 0)),Func ("Prelude","negateFloat") 1 Public (FuncType (TCons ("Prelude","Float") []) (TCons ("Prelude","Float") [])) (Rule [] (Var 0)),Func ("Prelude","prim_negateFloat") 1 Public (FuncType (TCons ("Prelude","Float") []) (TCons ("Prelude","Float") [])) (External "Prelude.prim_negateFloat"),Func ("Prelude","success") 0 Public (TCons ("Prelude","Success") []) (Rule [] (Var 0)),Func ("Prelude","=:=") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Success") []))) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","maybe") 3 Public (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (TVar 0)) (FuncType (TCons ("Prelude","Maybe") [TVar 1]) (TVar 0)))) (Rule [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),Func ("Prelude","done") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","()") []]) (Rule [] (Var 0)),Func ("Prelude","putChar") 1 Public (FuncType (TCons ("Prelude","Char") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),Func ("Prelude","putStrLn") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("Prelude","getLine") 0 Public (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (Rule [] (Var 0)),Func ("Prelude","show") 1 Public (FuncType (TVar 0) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","doSolve") 1 Public (FuncType (TCons ("Prelude","Success") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("Prelude","sequenceIO") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","IO") [TVar 0]]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TVar 0]])) (Rule [] (Var 0)),Func ("Prelude","sequenceIO_") 0 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","IO") [TVar 0]]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),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 [] (Var 0)),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 [] (Var 0)),Func ("Prelude","?") 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","allValuesB") 1 Public (FuncType (TCons ("Prelude","SearchTree") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Var 0)),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 [] (Var 0)),Func ("Prelude","PEVAL") 1 Public (FuncType (TVar 0) (TVar 0)) (Rule [] (Var 0)),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 [] (Var 0)),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]