Prog "List" ["Maybe","Prelude"] [] [Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"List","elemIndex")) 1 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TCons ((Nothing,Nothing,"Prelude","Int")) []]))) (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","Maybe") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"List","findIndex")) [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","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"List","elemIndices")) 1 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Int")) []]))) (Rule [(Just (TVar 0),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","Int") []]))),"List","findIndices")) [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 (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0]))),"List","find")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 0]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0])) (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","Maybe") [TVar 0])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0])),"Maybe","listToMaybe")) [],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","[]") [TVar 0]))),"Prelude","filter")) [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","Maybe") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"List","findIndex")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TCons ((Nothing,Nothing,"Prelude","Int")) []]))) (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","Int") []]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","Int") []])) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","Int") []])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","Int") []])),"Maybe","listToMaybe")) [],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","Int") []]))),"List","findIndices")) [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","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"List","findIndices")) 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","Int")) []]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TCons (Nothing,Nothing,"Prelude","Int") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TCons (Nothing,Nothing,"Prelude","Int") []]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TCons (Nothing,Nothing,"Prelude","Int") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])))),"List","findIndices._#lambda4")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]),"Prelude","[]")) [],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TVar 0,TCons (Nothing,Nothing,"Prelude","Int") []]]))),"Prelude","zip")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])),"Prelude","enumFrom")) [Lit (Intc 0)]]])),Func ((Nothing,Just (FuncType (FuncType (TVar 7) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 7,TCons (Nothing,Nothing,"Prelude","Int") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []])))),"List","findIndices._#lambda4")) 3 Private (FuncType (FuncType (TVar 7) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TVar 7,TCons ((Nothing,Nothing,"Prelude","Int")) []]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Int")) []]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Int")) []])))) (Rule [(Just (FuncType (TVar 7) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 7,TCons (Nothing,Nothing,"Prelude","Int") []]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]),3)] (Case Rigid (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 7,TCons (Nothing,Nothing,"Prelude","Int") []]),2))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 7) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","(,)") [TVar 7,TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude","(,)")) [(Just (TVar 7),4),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),5)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [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","++")) [Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 7) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 7) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 7) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TVar 7),4))]) [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","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","Int") []),5)),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 (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]),"Prelude","[]")) [])],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]),3))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"List","nub")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","nubBy")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","nubBy")) 2 Public (FuncType (FuncType (TVar 0) (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) (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)]) (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) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","nubBy")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),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","[]") [TVar 0]))),"Prelude","filter")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"List","nubBy._#lambda6")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1)),Var ((Just (TVar 0),3))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))]]])])),Func ((Nothing,Just (FuncType (FuncType (TVar 45) (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TVar 45) (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"List","nubBy._#lambda6")) 3 Private (FuncType (FuncType (TVar 45) (FuncType (TVar 45) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (FuncType (TVar 45) (FuncType (TVar 45) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])))) (Rule [(Just (FuncType (TVar 45) (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1),(Just (TVar 45),2),(Just (TVar 45),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Prelude","not")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 45) (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TVar 45) (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"Prelude","apply")) [Var ((Just (FuncType (TVar 45) (FuncType (TVar 45) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1)),Var ((Just (TVar 45),2))],Var ((Just (TVar 45),3))]])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","delete")) 2 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (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 (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 (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TVar 0),1)),Var ((Just (TVar 0),3))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (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)),Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","delete")) [Var ((Just (TVar 0),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 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","\\\\")) 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)] (Comb FuncCall ((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 (FuncPartCall 2) ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","delete")) []],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","union")) 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)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","elem")) [Var ((Just (TVar 0),3))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))]) [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","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","union")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))]),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)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","union")) [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]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","intersect")) 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","[]")) []) (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 (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","elem")) [Var ((Just (TVar 0),3))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))]) [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 (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","intersect")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)),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","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","intersect")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))])])])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","intersperse")) 2 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (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 (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 Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4))) [Branch (Pattern ((Nothing,Just (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)),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),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),1)),Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","intersperse")) [Var ((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),5)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6))]]]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])),"List","transpose")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),"Prelude","[]")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude",":")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),3)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])),"List","transpose")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [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),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [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),4)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","map")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)),"Prelude","head")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),3))]],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])),"List","transpose")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","map")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Prelude","tail")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]),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]]))),"List","partition")) 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)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],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","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])))),"List","partition.select.53")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1))],Comb ConsCall ((Nothing,Just (FuncType (TVar 151) (FuncType (TVar 152) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 151),"Prelude","[]")) [],Comb ConsCall ((Nothing,Just (TVar 152),"Prelude","[]")) []],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))])),Func ((Nothing,Just (FuncType (FuncType (TVar 146) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 146) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 146],TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 146],TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]])))),"List","partition.select.53")) 3 Private (FuncType (FuncType (TVar 146) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (FuncType (TVar 146) (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 146],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 146]]) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 146],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 146]])))) (Rule [(Just (FuncType (TVar 146) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1),(Just (TVar 146),2),(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 146],TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]]),3)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 146],TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]]),3))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 146],TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]),5)]) (Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 146) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 146) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Var ((Just (FuncType (TVar 146) (TCons (Nothing,Nothing,"Prelude","Bool") [])),1)),Var ((Just (TVar 146),2))]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 146],TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (FuncType (TVar 146) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]))),"Prelude",":")) [Var ((Just (TVar 146),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]),4))],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]),5))]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 146],TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]]))),"Prelude","(,)")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]),4)),Comb ConsCall ((Nothing,Just (FuncType (TVar 146) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]))),"Prelude",":")) [Var ((Just (TVar 146),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 146]),5))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])),"List","group")) 0 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]])) (Rule [] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (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]]))),"List","groupBy")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) []])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (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]]))),"List","groupBy")) 2 Public (FuncType (FuncType (TVar 0) (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]]))) (Rule [(Just (FuncType (TVar 0) (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","[]") [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)]) (Let [((Just (TVar 159),5),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 163) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 163]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 163],TCons (Nothing,Nothing,"Prelude","[]") [TVar 163]]))),"Prelude","span")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 161) (TVar 162)) (FuncType (TVar 161) (TVar 162))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1)),Var ((Just (TVar 0),3))],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 164],TCons (Nothing,Nothing,"Prelude","[]") [TVar 164]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 164])),"List","groupBy._#selFP3#ys")) [Var ((Just (TVar 159),5))])] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),7),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 165],TCons (Nothing,Nothing,"Prelude","[]") [TVar 165]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 165])),"List","groupBy._#selFP4#zs")) [Var ((Just (TVar 159),5))])] (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [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))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (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]]))),"List","groupBy")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),7))]]))))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154])),"List","groupBy._#selFP3#ys")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 154],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 154]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 154])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]) (FuncType (TVar 157) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]))),"Prelude","(,)")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]),2),(Just (TVar 157),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]),2)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154])),"List","groupBy._#selFP4#zs")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 154],TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 154]]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 154])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 156) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 154],TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]]))),"Prelude","(,)")) [(Just (TVar 156),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]),3)]) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 154]),3)))])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"List","replace")) 3 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","Int")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])))) (Rule [(Just (TVar 0),1),(Just (TCons (Nothing,Nothing,"Prelude","Int") []),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","[]")) []) (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),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)]) (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 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)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5))]),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 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),4)),Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"List","replace")) [Var ((Just (TVar 0),1)),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)],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5))]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb FuncCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","failed")) [])])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"List","isPrefixOf")) 2 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (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","[]")) []) (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),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),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","Bool") []),"Prelude","False")) []),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 (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","&&")) [Comb FuncCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TVar 0),3)),Var ((Just (TVar 0),5))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"List","isPrefixOf")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),6))]])])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","sortBy")) 1 Public (FuncType (FuncType (TVar 0) (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) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1)] (Comb (FuncPartCall 1) ((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 (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"List","insertBy")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"List","insertBy")) 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Bool")) []))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])))) (Rule [(Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1),(Just (TVar 0),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","[]")) []) (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 (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 Rigid (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") [])))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1)),Var ((Just (TVar 0),2))],Var ((Just (TVar 0),4))]) [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),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),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5))]]),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),4)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"List","insertBy")) [Var ((Just (FuncType (TVar 0) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Bool") []))),1)),Var ((Just (TVar 0),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)),"List","last")) 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)]) (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 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),4),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)),"List","last")) [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),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),5))]])])]))] [Op ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"List","\\\\")) InfixOp 5]