Prog "Prelude" [] [Type ((Nothing,Nothing,"Prelude","()")) Public [] [Cons ((Nothing,Nothing,"Prelude","()")) 0 Public []],Type ((Nothing,Nothing,"Prelude","[]")) Public [0] [Cons ((Nothing,Nothing,"Prelude","[]")) 0 Public [],Cons ((Nothing,Nothing,"Prelude",":")) 2 Public [TVar 0,TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]]],Type ((Nothing,Nothing,"Prelude","(,)")) Public [0,1] [Cons ((Nothing,Nothing,"Prelude","(,)")) 2 Public [TVar 0,TVar 1]],Type ((Nothing,Nothing,"Prelude","(,,)")) Public [0,1,2] [Cons ((Nothing,Nothing,"Prelude","(,,)")) 3 Public [TVar 0,TVar 1,TVar 2]],Type ((Nothing,Nothing,"Prelude","(,,,)")) Public [0,1,2,3] [Cons ((Nothing,Nothing,"Prelude","(,,,)")) 4 Public [TVar 0,TVar 1,TVar 2,TVar 3]],Type ((Nothing,Nothing,"Prelude","(,,,,)")) Public [0,1,2,3,4] [Cons ((Nothing,Nothing,"Prelude","(,,,,)")) 5 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4]],Type ((Nothing,Nothing,"Prelude","(,,,,,)")) Public [0,1,2,3,4,5] [Cons ((Nothing,Nothing,"Prelude","(,,,,,)")) 6 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5]],Type ((Nothing,Nothing,"Prelude","(,,,,,,)")) Public [0,1,2,3,4,5,6] [Cons ((Nothing,Nothing,"Prelude","(,,,,,,)")) 7 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6]],Type ((Nothing,Nothing,"Prelude","(,,,,,,,)")) Public [0,1,2,3,4,5,6,7] [Cons ((Nothing,Nothing,"Prelude","(,,,,,,,)")) 8 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7]],Type ((Nothing,Nothing,"Prelude","(,,,,,,,,)")) Public [0,1,2,3,4,5,6,7,8] [Cons ((Nothing,Nothing,"Prelude","(,,,,,,,,)")) 9 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8]],Type ((Nothing,Nothing,"Prelude","(,,,,,,,,,)")) Public [0,1,2,3,4,5,6,7,8,9] [Cons ((Nothing,Nothing,"Prelude","(,,,,,,,,,)")) 10 Public [TVar 0,TVar 1,TVar 2,TVar 3,TVar 4,TVar 5,TVar 6,TVar 7,TVar 8,TVar 9]],Type ((Nothing,Nothing,"Prelude","(,,,,,,,,,,)")) Public [0,1,2,3,4,5,6,7,8,9,10] [Cons ((Nothing,Nothing,"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 ((Nothing,Nothing,"Prelude","(,,,,,,,,,,,)")) Public [0,1,2,3,4,5,6,7,8,9,10,11] [Cons ((Nothing,Nothing,"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 ((Nothing,Nothing,"Prelude","(,,,,,,,,,,,,)")) Public [0,1,2,3,4,5,6,7,8,9,10,11,12] [Cons ((Nothing,Nothing,"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 ((Nothing,Nothing,"Prelude","(,,,,,,,,,,,,,)")) Public [0,1,2,3,4,5,6,7,8,9,10,11,12,13] [Cons ((Nothing,Nothing,"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 ((Nothing,Nothing,"Prelude","(,,,,,,,,,,,,,,)")) Public [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] [Cons ((Nothing,Nothing,"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 ((Nothing,Nothing,"Prelude","String")) Public [] (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]),Type ((Nothing,Nothing,"Prelude","Float")) Public [] [],Type ((Nothing,Nothing,"Prelude","Char")) Public [] [],Type ((Nothing,Nothing,"Prelude","Bool")) Public [] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) 0 Public [],Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) 0 Public []],Type ((Nothing,Nothing,"Prelude","Ordering")) Public [] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) 0 Public [],Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) 0 Public [],Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) 0 Public []],Type ((Nothing,Nothing,"Prelude","Nat")) Public [] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) 0 Public [],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) 1 Public [TCons ((Nothing,Nothing,"Prelude","Nat")) []],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) 1 Public [TCons ((Nothing,Nothing,"Prelude","Nat")) []]],Type ((Nothing,Nothing,"Prelude","Int")) Public [] [Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) 1 Public [TCons ((Nothing,Nothing,"Prelude","Nat")) []],Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) 0 Public [],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) 1 Public [TCons ((Nothing,Nothing,"Prelude","Nat")) []]],Type ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Success") []),"Prelude","Success")) Public [] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Success") []),"Prelude","Success")) 0 Public []],Type ((Nothing,Nothing,"Prelude","Maybe")) Public [0] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0]),"Prelude","Nothing")) 0 Public [],Cons ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0])),"Prelude","Just")) 1 Public [TVar 0]],Type ((Nothing,Nothing,"Prelude","Either")) Public [0,1] [Cons ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 1])),"Prelude","Left")) 1 Public [TVar 0],Cons ((Nothing,Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 1])),"Prelude","Right")) 1 Public [TVar 1]],Type ((Nothing,Nothing,"Prelude","IO")) Public [0] [],Type ((Nothing,Nothing,"Prelude","SearchTree")) Public [0] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Fail")) 0 Public [],Cons ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Value")) 1 Public [TVar 0],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Choice")) 1 Public [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]]],Cons ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Suspend")) 0 Public []]] [Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))),"Prelude",".")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))) (Rule [(Just (FuncType (TVar 0) (TVar 1)),1),(Just (FuncType (TVar 2) (TVar 0)),2)] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))),"Prelude",".._#lambda2")) [Var ((Just (FuncType (TVar 0) (TVar 1)),1)),Var ((Just (FuncType (TVar 2) (TVar 0)),2))])),Func ((Nothing,Just (FuncType (FuncType (TVar 9) (TVar 11)) (FuncType (FuncType (TVar 7) (TVar 9)) (FuncType (TVar 7) (TVar 11)))),"Prelude",".._#lambda2")) 3 Private (FuncType (FuncType (TVar 9) (TVar 11)) (FuncType (FuncType (TVar 7) (TVar 9)) (FuncType (TVar 7) (TVar 11)))) (Rule [(Just (FuncType (TVar 9) (TVar 11)),1),(Just (FuncType (TVar 7) (TVar 9)),2),(Just (TVar 7),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 9) (TVar 11)) (FuncType (TVar 9) (TVar 11))),"Prelude","apply")) [Var ((Just (FuncType (TVar 9) (TVar 11)),1)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 7) (TVar 9)) (FuncType (TVar 7) (TVar 9))),"Prelude","apply")) [Var ((Just (FuncType (TVar 7) (TVar 9)),2)),Var ((Just (TVar 7),3))]])),Func ((Nothing,Just (FuncType (TVar 0) (TVar 0)),"Prelude","id")) 1 Public (FuncType (TVar 0) (TVar 0)) (Rule [(Just (TVar 0),1)] (Var ((Just (TVar 0),1)))),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))),"Prelude","const")) 2 Public (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (Rule [(Just (TVar 0),1),(Just (TVar 1),2)] (Var ((Just (TVar 0),1)))),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 2)) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2)))),"Prelude","curry")) 3 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 0,TVar 1]) (TVar 2)) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2)))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 2)),1),(Just (TVar 0),2),(Just (TVar 1),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 2)) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 2))),"Prelude","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 2)),1)),Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]))),"Prelude","(,)")) [Var ((Just (TVar 0),2)),Var ((Just (TVar 1),3))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 2))),"Prelude","uncurry")) 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 0,TVar 1]) (TVar 2))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))),1),(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),2))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]))),"Prelude","(,)")) [(Just (TVar 0),3),(Just (TVar 1),4)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 2)) (FuncType (TVar 1) (TVar 2))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))),1)),Var ((Just (TVar 0),3))],Var ((Just (TVar 1),4))])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TVar 1) (FuncType (TVar 0) (TVar 2)))),"Prelude","flip")) 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TVar 1) (FuncType (TVar 0) (TVar 2)))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))),1),(Just (TVar 1),2),(Just (TVar 0),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 2)) (FuncType (TVar 1) (TVar 2))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))),1)),Var ((Just (TVar 0),3))],Var ((Just (TVar 1),2))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))),"Prelude","until")) 3 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (FuncType (TVar 0) (TVar 0)),2),(Just (TVar 0),3)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TVar 0),3))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Var ((Just (TVar 0),3))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))),"Prelude","until")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (FuncType (TVar 0) (TVar 0)),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TVar 0)),2)),Var ((Just (TVar 0),3))]])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (Rule [(Just (FuncType (TVar 0) (TVar 1)),1),(Just (TVar 0),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TVar 1)),1)),Var ((Just (TVar 0),2))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$!")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$!"),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$!!")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$!!"),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$#")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$#"),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$##")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.$##"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","ensureSpine")) 0 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","$#")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","ensureSpine.ensureList.21")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","ensureSpine.ensureList.21")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","ensureSpine")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3))]])])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))),"Prelude","seq")) 2 Public (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (Rule [(Just (TVar 0),1),(Just (TVar 1),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$!")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 1) (FuncType (TVar 0) (TVar 1))),"Prelude","const")) [Var ((Just (TVar 1),2))],Var ((Just (TVar 0),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TVar 0)),"Prelude","error")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TVar 0)) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TVar 0))),"Prelude","$##")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TVar 0)),"Prelude","prim_error")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TVar 0)),"Prelude","prim_error")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TVar 0)) (External "Prelude.prim_error"),Func ((Nothing,Just (TVar 0),"Prelude","failed")) 0 Public (TVar 0) (External "Prelude.failed"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","&&")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Bool")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Bool")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Bool") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Bool") []),2))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","||")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Bool")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Bool")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Bool") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Bool") []),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","not")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Bool")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) [])])),Func ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","otherwise")) 0 Public (TCons ((Nothing,Nothing,"Prelude","Bool")) []) (Rule [] (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) [])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0)))),"Prelude","if_then_else")) 3 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Bool")) []) (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0)))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1),(Just (TVar 0),2),(Just (TVar 0),3)] (Case Rigid (Var ((Just (TCons (Nothing,Nothing,"Prelude","Bool") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Var ((Just (TVar 0),2))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Var ((Just (TVar 0),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","isLT")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Ordering")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","isGT")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Ordering")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","isEQ")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Ordering")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","compare")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Ordering")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) [])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) [])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),10)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),10)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8))])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","compare")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","compare")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<=")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","/=")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","compare")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">=")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","/=")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","compare")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","max")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","compare")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","min")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","compare")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)))])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (External "Prelude.=="),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","/=")) 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TVar 0),1),(Just (TVar 0),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","not")) [Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TVar 0),1)),Var ((Just (TVar 0),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 0)),"Prelude","fst")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 0,TVar 1]) (TVar 0)) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 4) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]))),"Prelude","(,)")) [(Just (TVar 0),2),(Just (TVar 4),3)]) (Var ((Just (TVar 0),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (TVar 1)),"Prelude","snd")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 0,TVar 1]) (TVar 1)) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 3) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]))),"Prelude","(,)")) [(Just (TVar 3),2),(Just (TVar 1),3)]) (Var ((Just (TVar 1),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)),"Prelude","head")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)]) (Var ((Just (TVar 0),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","tail")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","null")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","++")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","++")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","length")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Lit (Intc 0)),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) [Lit (Intc 1),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","length")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TVar 0))),"Prelude","!!")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TVar 0))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)),Lit (Intc 0)]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Var ((Just (TVar 0),3))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)),Lit (Intc 0)]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TVar 0))),"Prelude","!!")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)),Lit (Intc 1)]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (TVar 0),"Prelude","failed")) [])])])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","map")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]))) (Rule [(Just (FuncType (TVar 0) (TVar 1)),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude",":")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TVar 1)),1)),Var ((Just (TVar 0),3))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","map")) [Var ((Just (FuncType (TVar 0) (TVar 1)),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))]])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)))),"Prelude","foldl")) 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),3)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),"Prelude","[]")) []) (Var ((Just (TVar 0),2))),Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude",":")) [(Just (TVar 1),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),5)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)))),"Prelude","foldl")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))),1)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 0)) (FuncType (TVar 1) (TVar 0))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 0))),1)),Var ((Just (TVar 0),2))],Var ((Just (TVar 1),4))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),5))])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0))),"Prelude","foldl1")) 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)))),"Prelude","foldl")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))),1)),Var ((Just (TVar 0),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 1)))),"Prelude","foldr")) 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (FuncType (TVar 1) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 1)))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))),1),(Just (TVar 1),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Var ((Just (TVar 1),2))),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 1) (TVar 1))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))),1)),Var ((Just (TVar 0),4))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))) (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 1)))),"Prelude","foldr")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))),1)),Var ((Just (TVar 1),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5))]])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0))),"Prelude","foldr1")) 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Var ((Just (TVar 0),3))),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),5),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))),1)),Var ((Just (TVar 0),3))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0))),"Prelude","foldr1")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))),1)),Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6))]]])])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","filter")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TVar 0),3))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","filter")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","filter")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]))),"Prelude","zip")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 0,TVar 1]]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude",":")) [(Just (TVar 1),5),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),6)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]))),"Prelude",":")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]))),"Prelude","(,)")) [Var ((Just (TVar 0),3)),Var ((Just (TVar 1),5))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]))),"Prelude","zip")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),6))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]])))),"Prelude","zip3")) 3 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 2]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","(,,)")) [TVar 0,TVar 1,TVar 2]])))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),3)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude",":")) [(Just (TVar 1),6),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),7)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 2) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]))),"Prelude",":")) [(Just (TVar 2),8),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),9)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]))),"Prelude",":")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2])))),"Prelude","(,,)")) [Var ((Just (TVar 0),4)),Var ((Just (TVar 1),6)),Var ((Just (TVar 2),8))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]])))),"Prelude","zip3")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),7)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),9))]])])])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2])))),"Prelude","zipWith")) 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 2])))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),3)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude",":")) [(Just (TVar 1),6),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),7)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 2) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]))),"Prelude",":")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 2)) (FuncType (TVar 1) (TVar 2))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))),1)),Var ((Just (TVar 0),4))],Var ((Just (TVar 1),6))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2])))),"Prelude","zipWith")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),7))]])])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 3]))))),"Prelude","zipWith3")) 4 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 2]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 3]))))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),4)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 3]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),5),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 3]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude",":")) [(Just (TVar 1),7),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),8)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),4))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 3]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 2) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]))),"Prelude",":")) [(Just (TVar 2),9),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),10)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 3) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 3]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 3]))),"Prelude",":")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 2) (TVar 3)) (FuncType (TVar 2) (TVar 3))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3))) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))) (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3))))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))),1)),Var ((Just (TVar 0),5))],Var ((Just (TVar 1),7))],Var ((Just (TVar 2),9))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 3]))))),"Prelude","zipWith3")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3)))),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),8)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]),10))]])])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]])),"Prelude","unzip")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 0,TVar 1]]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 489) (FuncType (TVar 490) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 489),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 490),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),2))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 476) (FuncType (TVar 477) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]))),"Prelude","(,)")) [(Just (TVar 476),4),(Just (TVar 477),5)]) (Let [((Just (TVar 487),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 492,TVar 493]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 492],TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]])),"Prelude","unzip")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),3))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]),7),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494])),"Prelude","unzip._#selFP3#xs")) [Var ((Just (TVar 487),6))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]),8),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 496],TCons (Nothing,Nothing,"Prelude","[]") [TVar 497]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 497])),"Prelude","unzip._#selFP4#ys")) [Var ((Just (TVar 487),6))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 476) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]))),"Prelude",":")) [Var ((Just (TVar 476),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]),7))],Comb ConsCall ((Nothing,Just (FuncType (TVar 477) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]))),"Prelude",":")) [Var ((Just (TVar 477),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]),8))]]))))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476])),"Prelude","unzip._#selFP3#xs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 476],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 477]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 476])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]) (FuncType (TVar 480) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]),2),(Just (TVar 480),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 476]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477])),"Prelude","unzip._#selFP4#ys")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 476],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 477]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 477])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 479) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 476],TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]]))),"Prelude","(,)")) [(Just (TVar 479),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 477]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]) (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]])),"Prelude","unzip3")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","(,,)")) [TVar 0,TVar 1,TVar 2]]) (TCons ((Nothing,Nothing,"Prelude","(,,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 2]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 509) (FuncType (TVar 510) (FuncType (TVar 511) (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]])))),"Prelude","(,,)")) [Comb ConsCall ((Nothing,Just (TVar 509),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 510),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 511),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]),2))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 493) (FuncType (TVar 494) (FuncType (TVar 495) (TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2])))),"Prelude","(,,)")) [(Just (TVar 493),4),(Just (TVar 494),5),(Just (TVar 495),6)]) (Let [((Just (TVar 507),7),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 513,TVar 514,TVar 515]]) (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 513],TCons (Nothing,Nothing,"Prelude","[]") [TVar 514],TCons (Nothing,Nothing,"Prelude","[]") [TVar 515]])),"Prelude","unzip3")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,,)") [TVar 0,TVar 1,TVar 2]]),3))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]),8),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 516],TCons (Nothing,Nothing,"Prelude","[]") [TVar 517],TCons (Nothing,Nothing,"Prelude","[]") [TVar 518]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 516])),"Prelude","unzip3._#selFP6#xs")) [Var ((Just (TVar 507),7))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]),9),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 519],TCons (Nothing,Nothing,"Prelude","[]") [TVar 520],TCons (Nothing,Nothing,"Prelude","[]") [TVar 521]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 520])),"Prelude","unzip3._#selFP7#ys")) [Var ((Just (TVar 507),7))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]),10),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 522],TCons (Nothing,Nothing,"Prelude","[]") [TVar 523],TCons (Nothing,Nothing,"Prelude","[]") [TVar 524]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 524])),"Prelude","unzip3._#selFP8#zs")) [Var ((Just (TVar 507),7))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]) (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]])))),"Prelude","(,,)")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 493) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]))),"Prelude",":")) [Var ((Just (TVar 493),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]),8))],Comb ConsCall ((Nothing,Just (FuncType (TVar 494) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]))),"Prelude",":")) [Var ((Just (TVar 494),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]),9))],Comb ConsCall ((Nothing,Just (FuncType (TVar 495) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]))),"Prelude",":")) [Var ((Just (TVar 495),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]),10))]])))))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493])),"Prelude","unzip3._#selFP6#xs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 493],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 494],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 495]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 493])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]) (FuncType (TVar 498) (FuncType (TVar 499) (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]])))),"Prelude","(,,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]),2),(Just (TVar 498),3),(Just (TVar 499),4)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 493]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494])),"Prelude","unzip3._#selFP7#ys")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 493],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 494],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 495]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 494])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 497) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]) (FuncType (TVar 499) (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]])))),"Prelude","(,,)")) [(Just (TVar 497),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]),3),(Just (TVar 499),4)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 494]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495])),"Prelude","unzip3._#selFP8#zs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 493],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 494],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 495]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 495])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 497) (FuncType (TVar 498) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]) (TCons (Nothing,Nothing,"Prelude","(,,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 493],TCons (Nothing,Nothing,"Prelude","[]") [TVar 494],TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]])))),"Prelude","(,,)")) [(Just (TVar 497),2),(Just (TVar 498),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]),4)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 495]),4)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","concat")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","++")) [],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),1))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","concatMap")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])),"Prelude","concat")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]))),"Prelude","map")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])),1))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","iterate")) 2 Public (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (FuncType (TVar 0) (TVar 0)),1),(Just (TVar 0),2)] (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","iterate")) [Var ((Just (FuncType (TVar 0) (TVar 0)),1)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TVar 0)),1)),Var ((Just (TVar 0),2))]]])),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","repeat")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TVar 0),1)] (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),1)),Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","repeat")) [Var ((Just (TVar 0),1))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","replicate")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TVar 0),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","take")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","repeat")) [Var ((Just (TVar 0),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","take")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),5),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),5)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","take")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))],Lit (Intc 1)],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","drop")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Lit (Intc 0)]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","drop.dropp.272")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","drop.dropp.272")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","drop")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Lit (Intc 1)],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","splitAt")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Lit (Intc 0)]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 3) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 3),"Prelude","[]")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","splitAt.splitAtp.282")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","splitAt.splitAtp.282")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 585) (FuncType (TVar 586) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 585),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 586),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Let [((Just (TVar 583),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 588]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 588],TCons (Nothing,Nothing,"Prelude","[]") [TVar 588]]))),"Prelude","splitAt")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Lit (Intc 1)],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 589],TCons (Nothing,Nothing,"Prelude","[]") [TVar 589]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 589])),"Prelude","splitAt.splitAtp.282._#selFP10#ys")) [Var ((Just (TVar 583),5))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),7),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 590],TCons (Nothing,Nothing,"Prelude","[]") [TVar 590]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 590])),"Prelude","splitAt.splitAtp.282._#selFP11#zs")) [Var ((Just (TVar 583),5))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),7))]))))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576])),"Prelude","splitAt.splitAtp.282._#selFP10#ys")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 576],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 576]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 576])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]) (FuncType (TVar 579) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]),2),(Just (TVar 579),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576])),"Prelude","splitAt.splitAtp.282._#selFP11#zs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 576],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 576]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 576])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 578) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 576],TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]]))),"Prelude","(,)")) [(Just (TVar 578),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 576]),3)))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","takeWhile")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TVar 0),3))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","takeWhile")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) [])])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","dropWhile")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TVar 0),3))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","dropWhile")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))])])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","span")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 638) (FuncType (TVar 639) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 638),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 639),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TVar 0),3))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Let [((Just (TVar 634),5),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 643) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 643]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 643],TCons (Nothing,Nothing,"Prelude","[]") [TVar 643]]))),"Prelude","span")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 644],TCons (Nothing,Nothing,"Prelude","[]") [TVar 644]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 644])),"Prelude","span._#selFP13#ys")) [Var ((Just (TVar 634),5))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),7),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 645],TCons (Nothing,Nothing,"Prelude","[]") [TVar 645]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 645])),"Prelude","span._#selFP14#zs")) [Var ((Just (TVar 634),5))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),7))])))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Case Rigid (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","otherwise")) []) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 648) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 648),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),"Prelude","failed")) [])])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627])),"Prelude","span._#selFP13#ys")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 627],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 627]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 627])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]) (FuncType (TVar 630) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]),2),(Just (TVar 630),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627])),"Prelude","span._#selFP14#zs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 627],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 627]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 627])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 629) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 627],TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]]))),"Prelude","(,)")) [(Just (TVar 629),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 627]),3)))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","break")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","span")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","not")) [],Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","lines")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)]) (Let [((Just (TVar 5),4),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","lines.splitline.314")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 7) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 7]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 7]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3))]])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines._#selFP19#l")) [Var ((Just (TVar 5),4))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines._#selFP20#xs_l")) [Var ((Just (TVar 5),4))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),5)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","lines")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),6))]]))))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","lines.splitline.314")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 11) (FuncType (TVar 12) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 11),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 12),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),2)),Lit (Charc '\n')]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 15) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 15),"Prelude","[]")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Let [((Just (TVar 9),4),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","lines.splitline.314")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines.splitline.314._#selFP16#ds")) [Var ((Just (TVar 9),4))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines.splitline.314._#selFP17#es")) [Var ((Just (TVar 9),4))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),5))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),6))]))))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines.splitline.314._#selFP16#ds")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2),(Just (TVar 2),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines.splitline.314._#selFP17#es")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [(Just (TVar 1),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines._#selFP19#l")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2),(Just (TVar 2),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","lines._#selFP20#xs_l")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [(Just (TVar 1),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","unlines")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","concatMap")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])))),"Prelude","flip")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","++")) [],Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc '\n'),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []]]],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","words")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 5) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 5]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 5]))),"Prelude","dropWhile")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","words.isSpace.326")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))])] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Let [((Just (TVar 4),3),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 10) (TVar 11)) (FuncType (TVar 10) (TVar 11))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 9) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 9]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 9],TCons (Nothing,Nothing,"Prelude","[]") [TVar 9]]))),"Prelude","break")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","words.isSpace.326")) []],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),4),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","words._#selFP22#w")) [Var ((Just (TVar 4),3))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","words._#selFP23#s2")) [Var ((Just (TVar 4),3))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),4)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","words")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),5))]]))))]))),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","words.isSpace.326")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","Char")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","||")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)),Lit (Charc ' ')],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","||")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)),Lit (Charc '\t')],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","||")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)),Lit (Charc '\n')],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)),Lit (Charc '\r')]]]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","words._#selFP22#w")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2),(Just (TVar 2),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","words._#selFP23#s2")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","(,)")) [(Just (TVar 1),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","unwords")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),"Prelude","[]")) []]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","foldr1")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","unwords._#lambda6")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),1))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","unwords._#lambda6")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","++")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc ' '),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","reverse")) 0 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"Prelude","foldl")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"Prelude","flip")) [Comb (ConsPartCall 2) ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) []],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","and")) 0 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Bool")) []]) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","&&")) [],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","or")) 0 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Bool")) []]) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","||")) [],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","any")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"Prelude",".")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","or")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]))),"Prelude","map")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","all")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"Prelude",".")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","and")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Bool") []]))),"Prelude","map")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1))]])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","elem")) 1 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TVar 0),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","any")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TVar 0),1))]])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","notElem")) 1 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TVar 0),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","all")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","/=")) [Var ((Just (TVar 0),1))]])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]))),"Prelude","lookup")) 2 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 0,TVar 1]]) (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 1]))) (Rule [(Just (TVar 0),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]),"Prelude","Nothing")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),4)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]),3))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]))),"Prelude","(,)")) [(Just (TVar 0),5),(Just (TVar 1),6)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TVar 0),1)),Var ((Just (TVar 0),5))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1])),"Prelude","Just")) [Var ((Just (TVar 1),6))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Case Rigid (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","otherwise")) []) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]))),"Prelude","lookup")) [Var ((Just (TVar 0),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TVar 1]]),4))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]),"Prelude","failed")) [])])])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])),"Prelude","enumFrom")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Int")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])),"Prelude","enumFrom")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Lit (Intc 1)]]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","enumFromThen")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Int")) []]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","iterate")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))]],Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","enumFromTo")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Int")) []]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","enumFromTo")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Lit (Intc 1)],Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])))),"Prelude","enumFromThenTo")) 3 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Int")) []])))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","takeWhile")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))))),"Prelude","enumFromThenTo.p.364")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","enumFromThen")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))))),"Prelude","enumFromThenTo.p.364")) 4 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),3),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),4)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Case Rigid (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","otherwise")) []) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","failed")) [])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","ord")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Char")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Int") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","$##")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","prim_ord")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","prim_ord")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Char")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (External "Prelude.prim_ord"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Char") [])),"Prelude","chr")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Char")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Char") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Char") []))),"Prelude","$##")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Char") [])),"Prelude","prim_chr")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Char") [])),"Prelude","prim_chr")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Char")) [])) (External "Prelude.prim_chr"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","succ")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Nat")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","succ")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Nat")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","succ")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))],Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","succ")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))]])]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","succ")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Ordering")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) [])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatLT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7))])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),10)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatGT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),10))])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatLT")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Ordering")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatLT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatLT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatLT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatGT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8))])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatGT")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Ordering")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatGT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatGT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatGT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNatLT")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<^")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","isLT")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">^")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","isGT")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<=^")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","not")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","isGT")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">=^")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","not")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Ordering") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","isLT")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Nat")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))]],Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","pred")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Nat")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","pred")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","inc")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","succ")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","pred")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","dec")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","succ")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","pred")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","mult2")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","inc")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","pred")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))]]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","mult2")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","dec")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","mult2")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]]])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","inc")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","mult2")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7))]]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","mult2")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","div2")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Nat")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","mod2")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmodNat")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Case Rigid (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","otherwise")) []) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Ordering") []))),"Prelude","cmpNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","EQ")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","LT")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) [],Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Ordering") []),"Prelude","GT")) []) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmodNat")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","div2")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))],Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),3),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),4)]) (Case Rigid (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Nat") []),"Prelude","IHi")) []],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Case Rigid (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),4))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","mod2")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmodNat")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","divmodNat.shift.523")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))],Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TVar 13) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),7),(Just (TVar 13),8)]) (Case Rigid (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),7))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TVar 13) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]],Var ((Just (TVar 13),8))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TVar 13) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))],Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9))]],Var ((Just (TVar 13),8))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),10)]) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),"Prelude","failed")) [])])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),11)]) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),"Prelude","failed")) [])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),12)]) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),"Prelude","failed")) [])])])]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),"Prelude","failed")) [])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","divmodNat.shift.523")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Nat")) []) (TCons ((Nothing,Nothing,"Prelude","Nat")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","O")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") [])),"Prelude","I")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","*")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) [])]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),7))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),6)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),8))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) [])]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmod")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) [],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []])),"Prelude","error")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'd'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'i'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'v'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'i'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 's'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'i'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'o'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'n'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc ' '),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'b'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'y'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc ' '),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc '0'),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []]]]]]]]]]]]]]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmodNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),4))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5)]) (Let [((Just (TVar 6),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmodNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),5))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","Int") []),7),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP25#d")) [Var ((Just (TVar 6),6))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","Int") []),8),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP26#m")) [Var ((Just (TVar 6),6))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","negate")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),7))],Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),8))]))))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []])),"Prelude","error")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'd'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'i'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'v'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'i'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 's'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'i'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'o'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'n'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc ' '),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'b'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'y'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc ' '),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc '0'),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []]]]]]]]]]]]]]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),10)]) (Let [((Just (TVar 11),11),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmodNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),10))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","Int") []),12),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP28#d")) [Var ((Just (TVar 11),11))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","Int") []),13),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP29#m")) [Var ((Just (TVar 11),11))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","negate")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),12))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","negate")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),13))]])))),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),14)]) (Let [((Just (TVar 14),15),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmodNat")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),9)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),14))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","Int") []),16),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP31#d")) [Var ((Just (TVar 14),15))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","Int") []),17),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP32#m")) [Var ((Just (TVar 14),15))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),16)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","negate")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),17))]]))))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP25#d")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2),(Just (TVar 2),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP26#m")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TVar 1),2),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP28#d")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2),(Just (TVar 2),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP29#m")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TVar 1),2),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP31#d")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2),(Just (TVar 2),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","divmod._#selFP32#m")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Int")) [],TCons ((Nothing,Nothing,"Prelude","Int")) []]) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TVar 1),2),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","div")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","fst")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmod")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","mod")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) []))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","snd")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","divmod")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","negate")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (TCons ((Nothing,Nothing,"Prelude","Int")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Int") []),"Prelude","Zero")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),2))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Neg")) [(Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","Pos")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Nat") []),3))])])),Func ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Success") []),"Prelude","success")) 0 Public (TCons ((Nothing,Nothing,"Prelude","Success")) []) (Rule [] (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Success") []),"Prelude","Success")) [])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","=:=")) 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Success")) []))) (Rule [(Just (TVar 0),1),(Just (TVar 0),2)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","===")) [Var ((Just (TVar 0),1)),Var ((Just (TVar 0),2))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Success") []),"Prelude","success")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Success") []),"Prelude","failed")) [])])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","===")) 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (External "Prelude.==="),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","&")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Success")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","Success")) []) (TCons ((Nothing,Nothing,"Prelude","Success")) []))) (External "Prelude.&"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TVar 0) (TVar 0))),"Prelude","&>")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Success")) []) (FuncType (TVar 0) (TVar 0))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Success") []),1),(Just (TVar 0),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TVar 0) (TVar 0))),"Prelude","cond")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Success") []),1)),Var ((Just (TVar 0),2))])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]) (TVar 0)))),"Prelude","maybe")) 3 Public (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (TVar 0)) (FuncType (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 1]) (TVar 0)))) (Rule [(Just (TVar 0),1),(Just (FuncType (TVar 1) (TVar 0)),2),(Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]),3)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]),3))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]),"Prelude","Nothing")) []) (Var ((Just (TVar 0),1))),Branch (Pattern ((Nothing,Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1])),"Prelude","Just")) [(Just (TVar 1),4)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 0)) (FuncType (TVar 1) (TVar 0))),"Prelude","apply")) [Var ((Just (FuncType (TVar 1) (TVar 0)),2)),Var ((Just (TVar 1),4))])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 1)) (FuncType (TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 2]) (TVar 1)))),"Prelude","either")) 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 1)) (FuncType (TCons ((Nothing,Nothing,"Prelude","Either")) [TVar 0,TVar 2]) (TVar 1)))) (Rule [(Just (FuncType (TVar 0) (TVar 1)),1),(Just (FuncType (TVar 2) (TVar 1)),2),(Just (TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 2]),3)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 2]),3))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 2])),"Prelude","Left")) [(Just (TVar 0),4)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TVar 1)),1)),Var ((Just (TVar 0),4))]),Branch (Pattern ((Nothing,Just (FuncType (TVar 2) (TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 2])),"Prelude","Right")) [(Just (TVar 2),5)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 2) (TVar 1)) (FuncType (TVar 2) (TVar 1))),"Prelude","apply")) [Var ((Just (FuncType (TVar 2) (TVar 1)),2)),Var ((Just (TVar 2),5))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Prelude",">>=")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]) (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))) (External "Prelude.>>="),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Prelude","return")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])) (External "Prelude.return"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Prelude",">>")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Prelude",">>=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),1)),Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Prelude","const")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]),2))]])),Func ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]),"Prelude","done")) 0 Public (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []]) (Rule [] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","return")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","()") []),"Prelude","()")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putChar")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Char")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","$##")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","prim_putChar")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","prim_putChar")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Char")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (External "Prelude.prim_putChar"),Func ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","getChar")) 0 Public (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (External "Prelude.getChar"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","readFile")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","$##")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","prim_readFile")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","prim_readFile")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]])) (External "Prelude.prim_readFile"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","writeFile")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","$##")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])))),"Prelude","$##")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","prim_writeFile")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","prim_writeFile")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []]))) (External "Prelude.prim_writeFile"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","appendFile")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","$##")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])))),"Prelude","$##")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","prim_appendFile")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","prim_appendFile")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []]))) (External "Prelude.prim_appendFile"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Prelude","catchFail")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (External "Prelude.catchFail"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putStr")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]),"Prelude","done")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude",">>")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putChar")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),2))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putStr")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putStrLn")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude",">>")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putStr")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putChar")) [Lit (Charc '\n')]])),Func ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),"Prelude","getLine")) 0 Public (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (Rule [] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","getChar")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","getLine._#lambda10")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","getLine._#lambda10")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","Char")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)] (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)),Lit (Charc '\n')]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","return")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),"Prelude","getLine")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","getLine._#lambda10._#lambda11")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]))),"Prelude","getLine._#lambda10._#lambda11")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","Char")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Char") []),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","return")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Char") []),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),2))]])),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","show")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (Rule [(Just (TVar 0),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","$##")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","prim_show")) [],Var ((Just (TVar 0),1))])),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","prim_show")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []])) (External "Prelude.prim_show"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","print")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [(Just (TVar 0),1)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","putStrLn")) [Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","show")) [Var ((Just (TVar 0),1))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","doSolve")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Success")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","Success") []),1)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","cond")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Success") []),1)),Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]),"Prelude","done")) []])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])),"Prelude","sequenceIO")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]),"Prelude","[]")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])),"Prelude","return")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]),3)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude",">>=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),2)),Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","sequenceIO._#lambda12")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]),3))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 937]]) (FuncType (TVar 937) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]]))),"Prelude","sequenceIO._#lambda12")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 937]]) (FuncType (TVar 937) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 937]]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 937]]),1),(Just (TVar 937),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]]) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 937]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]])),"Prelude","sequenceIO")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 937]]),1))],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 937) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]]))),"Prelude","sequenceIO._#lambda12._#lambda13")) [Var ((Just (TVar 937),2))]])),Func ((Nothing,Just (FuncType (TVar 937) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]]))),"Prelude","sequenceIO._#lambda12._#lambda13")) 2 Private (FuncType (TVar 937) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 937]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 937]]))) (Rule [(Just (TVar 937),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]])),"Prelude","return")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 937) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]))),"Prelude",":")) [Var ((Just (TVar 937),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 937]),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","sequenceIO_")) 0 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude",">>")) [],Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]),"Prelude","done")) []])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]))),"Prelude","mapIO")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]])) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]])),"Prelude","sequenceIO")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]]))),"Prelude","map")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])),1))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","mapIO_")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])))),"Prelude",".")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Prelude","sequenceIO_")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]]))),"Prelude","map")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])),1))]])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))),"Prelude","?")) 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (Rule [(Just (TVar 0),1),(Just (TVar 0),2)] (Or (Var ((Just (TVar 0),1))) (Var ((Just (TVar 0),2))))),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]])),"Prelude","getSearchTree")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]])) (External "Prelude.getSearchTree"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","allValuesD")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Value")) [(Just (TVar 0),2)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),2)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Fail")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Suspend")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Choice")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),3)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","concatMap")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","allValuesD")) []],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),3))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","allValuesB")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","allValuesB.unfoldOrs.692")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),"Prelude","[]")) []]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]))),"Prelude","allValuesB.partition.692")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]]]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]]]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Value")) [(Just (TVar 0),3)]) (Let [((Just (TVar 1003),4),Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]),2)))] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1008],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1008]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1008])),"Prelude","allValuesB.partition.692._#selFP34#vs")) [Var ((Just (TVar 1003),4))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1009],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1009]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1009]])),"Prelude","allValuesB.partition.692._#selFP35#ors")) [Var ((Just (TVar 1003),4))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),3)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),6))])))),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Choice")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),7)]) (Let [((Just (TVar 1006),8),Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]),2)))] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),9),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1012],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1012]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1012])),"Prelude","allValuesB.partition.692._#selFP37#vs")) [Var ((Just (TVar 1006),8))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),10),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1013],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1013]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1013]])),"Prelude","allValuesB.partition.692._#selFP38#ors")) [Var ((Just (TVar 1006),8))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]))),"Prelude","(,)")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),9)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]))),"Prelude","++")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),7)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),10))]])))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Fail")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]),2))),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Suspend")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001])),"Prelude","allValuesB.partition.692._#selFP34#vs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1001],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1001]]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1001])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001]) (FuncType (TVar 1004) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001]),2),(Just (TVar 1004),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]])),"Prelude","allValuesB.partition.692._#selFP35#ors")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1001],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1001]]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1001]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1003) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]))),"Prelude","(,)")) [(Just (TVar 1003),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001])),"Prelude","allValuesB.partition.692._#selFP37#vs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1001],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1001]]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1001])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001]) (FuncType (TVar 1004) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001]),2),(Just (TVar 1004),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]])),"Prelude","allValuesB.partition.692._#selFP38#ors")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1001],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1001]]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1001]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1003) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1001],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]]))),"Prelude","(,)")) [(Just (TVar 1003),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1001]]),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","allValuesB.unfoldOrs.692")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),3)]) (Let [((Just (TVar 1019),4),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1029) (FuncType (TVar 1030) (TVar 1030))) (FuncType (TVar 1030) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1029]) (TVar 1030)))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1024]) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1024],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1024]]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1024],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1024]]]))),"Prelude","allValuesB.partition.692")) [],Comb ConsCall ((Nothing,Just (TVar 1027),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 1025),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 1026),"Prelude","[]")) []],Comb ConsCall ((Nothing,Just (FuncType (TVar 1028) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1028]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1028]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),3))]])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1031],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1031]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1031])),"Prelude","allValuesB.unfoldOrs.692._#selFP40#vals")) [Var ((Just (TVar 1019),4))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),6),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1032],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1032]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1032]])),"Prelude","allValuesB.unfoldOrs.692._#selFP41#ors")) [Var ((Just (TVar 1019),4))])] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","++")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","allValuesB.unfoldOrs.692")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),6))]]))))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014])),"Prelude","allValuesB.unfoldOrs.692._#selFP40#vals")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1014],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1014]]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1014])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014]) (FuncType (TVar 1017) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014]),2),(Just (TVar 1017),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]])),"Prelude","allValuesB.unfoldOrs.692._#selFP41#ors")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1014],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1014]]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 1014]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 1016) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1014],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]]))),"Prelude","(,)")) [(Just (TVar 1016),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 1014]]),3)))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])))),"Prelude","inject")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Success")) [])) (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Success")) [])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Success")) [])))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])),1),(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])),2)] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])))),"Prelude","inject._#lambda14")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])),1)),Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") [])),2))])),Func ((Nothing,Just (FuncType (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])))),"Prelude","inject._#lambda14")) 3 Private (FuncType (FuncType (TVar 1025) (TCons ((Nothing,Nothing,"Prelude","Success")) [])) (FuncType (FuncType (TVar 1025) (TCons ((Nothing,Nothing,"Prelude","Success")) [])) (FuncType (TVar 1025) (TCons ((Nothing,Nothing,"Prelude","Success")) [])))) (Rule [(Just (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])),1),(Just (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])),2),(Just (TVar 1025),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","&")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])),2)),Var ((Just (TVar 1025),3))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])) (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 1025) (TCons (Nothing,Nothing,"Prelude","Success") [])),1)),Var ((Just (TVar 1025),3))]])),Func ((Nothing,Just (FuncType (TVar 0) (TVar 0)),"Prelude","PEVAL")) 1 Public (FuncType (TVar 0) (TVar 0)) (Rule [(Just (TVar 0),1)] (Var ((Just (TVar 0),1)))),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","apply")) 2 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))) (External "Prelude.apply"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TVar 0) (TVar 0))),"Prelude","cond")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","Success")) []) (FuncType (TVar 0) (TVar 0))) (External "Prelude.cond"),Func ((Nothing,Just (TVar 0),"Prelude","unknown")) 0 Public (TVar 0) (Rule [] (Free [(Just (TVar 0),1)] (Var ((Just (TVar 0),1))))),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","=:<=")) 2 Public (FuncType (TVar 0) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Success")) []))) (External "Prelude.=:<=")] [Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TVar 0))),"Prelude","!!")) InfixlOp 9,Op ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))),"Prelude",".")) InfixrOp 9,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","*")) InfixlOp 7,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","*^")) InfixlOp 7,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","div")) InfixlOp 7,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","mod")) InfixlOp 7,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","+")) InfixlOp 6,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Nat") []))),"Prelude","+^")) InfixlOp 6,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-")) InfixlOp 6,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Int") []))),"Prelude","-^")) InfixlOp 6,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","++")) InfixrOp 5,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","=:=")) InfixOp 4,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) InfixOp 4,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","===")) InfixOp 4,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","/=")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<=")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">=")) InfixOp 4,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","=:<=")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<^")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","<=^")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">^")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Nat") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude",">=^")) InfixOp 4,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","elem")) InfixOp 4,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","notElem")) InfixOp 4,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","&&")) InfixrOp 3,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","||")) InfixrOp 2,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Prelude",">>")) InfixlOp 1,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Prelude",">>=")) InfixlOp 1,Op ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$")) InfixrOp 0,Op ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$!")) InfixrOp 0,Op ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$!!")) InfixrOp 0,Op ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$#")) InfixrOp 0,Op ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","$##")) InfixrOp 0,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 1) (TVar 1))),"Prelude","seq")) InfixrOp 0,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (TCons (Nothing,Nothing,"Prelude","Success") []))),"Prelude","&")) InfixrOp 0,Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Success") []) (FuncType (TVar 0) (TVar 0))),"Prelude","&>")) InfixrOp 0,Op ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))),"Prelude","?")) InfixrOp 0]