Prog "FiniteMap" ["Maybe","Prelude"] [TypeSyn ("FiniteMap","LeKey") Private [0] (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))),TypeSyn ("FiniteMap","FiniteSet") Private [0] (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]),Type ("FiniteMap","FM") Public [0,1] [Cons ("FiniteMap","FM") 2 Private [FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") [])),TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]]],Type ("FiniteMap","FiniteMap") Private [0,1] [Cons ("FiniteMap","EmptyFM") 0 Private [],Cons ("FiniteMap","Branch") 5 Private [TVar 0,TVar 1,TCons ("Prelude","Int") [],TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1],TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]]]] [Func ("FiniteMap","emptyFM") 1 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (TCons ("FiniteMap","FM") [TVar 0,TVar 1])) (Rule [1] (Comb ConsCall ("FiniteMap","FM") [Var 1,Comb ConsCall ("FiniteMap","EmptyFM") []])),Func ("FiniteMap","unitFM") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TVar 1) (TCons ("FiniteMap","FM") [TVar 0,TVar 1])))) (Rule [1,2,3] (Comb ConsCall ("FiniteMap","FM") [Var 1,Comb FuncCall ("FiniteMap","unitFM'") [Var 2,Var 3]])),Func ("FiniteMap","unitFM'") 2 Private (FuncType (TVar 0) (FuncType (TVar 1) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]))) (Rule [1,2] (Comb ConsCall ("FiniteMap","Branch") [Var 1,Var 2,Lit (Intc 1),Comb ConsCall ("FiniteMap","EmptyFM") [],Comb ConsCall ("FiniteMap","EmptyFM") []])),Func ("FiniteMap","listToFM") 1 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1] (Comb (FuncPartCall 1) ("FiniteMap","addListToFM") [Comb FuncCall ("FiniteMap","emptyFM") [Var 1]])),Func ("FiniteMap","addToFM") 3 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TVar 0) (FuncType (TVar 1) (TCons ("FiniteMap","FM") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [4,5]) (Comb ConsCall ("FiniteMap","FM") [Var 4,Comb FuncCall ("FiniteMap","addToFM'") [Var 4,Var 5,Var 2,Var 3]])])),Func ("FiniteMap","addToFM'") 4 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TVar 0) (FuncType (TVar 1) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]))))) (Rule [1,2,3,4] (Comb FuncCall ("FiniteMap","addToFM_C'") [Var 1,Comb (FuncPartCall 2) ("FiniteMap","addToFM'._#lambda2") [],Var 2,Var 3,Var 4])),Func ("FiniteMap","addToFM'._#lambda2") 2 Private (FuncType (TVar 270) (FuncType (TVar 270) (TVar 270))) (Rule [1,2] (Var 2)),Func ("FiniteMap","addToFM_C'") 5 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (FuncType (TVar 1) (FuncType (TVar 1) (TVar 1))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TVar 0) (FuncType (TVar 1) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))))) (Rule [1,2,3,4,5] (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb FuncCall ("FiniteMap","unitFM'") [Var 4,Var 5]),Branch (Pattern ("FiniteMap","Branch") [6,7,8,9,10]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 6]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 6,Var 7,Comb FuncCall ("FiniteMap","addToFM_C'") [Var 1,Var 2,Var 9,Var 4,Var 5],Var 10]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 4,Var 6]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FiniteMap","Branch") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 7],Var 5],Var 8,Var 9,Var 10]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 6,Var 7,Var 9,Comb FuncCall ("FiniteMap","addToFM_C'") [Var 1,Var 2,Var 10,Var 4,Var 5]])])])])),Func ("FiniteMap","addListToFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("FiniteMap","addListToFM'") [Var 3,Var 4,Var 2]])])),Func ("FiniteMap","addListToFM'") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Comb FuncCall ("FiniteMap","addListToFM_C'") [Var 1,Comb (FuncPartCall 2) ("FiniteMap","addListToFM'._#lambda3") [],Var 2,Var 3])),Func ("FiniteMap","addListToFM'._#lambda3") 2 Private (FuncType (TVar 246) (FuncType (TVar 246) (TVar 246))) (Rule [1,2] (Var 2)),Func ("FiniteMap","addListToFM_C'") 4 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (FuncType (TVar 1) (FuncType (TVar 1) (TVar 1))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","foldl") [Comb (FuncPartCall 2) ("FiniteMap","addListToFM_C'.add.30") [Var 2,Var 1],Var 3,Var 4])),Func ("FiniteMap","addListToFM_C'.add.30") 4 Private (FuncType (FuncType (TVar 235) (FuncType (TVar 235) (TVar 235))) (FuncType (FuncType (TVar 234) (FuncType (TVar 234) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 234,TVar 235]) (FuncType (TCons ("Prelude","(,)") [TVar 234,TVar 235]) (TCons ("FiniteMap","FiniteMap") [TVar 234,TVar 235]))))) (Rule [1,2,3,4] (Case Flex (Var 4) [Branch (Pattern ("Prelude","(,)") [5,6]) (Comb FuncCall ("FiniteMap","addToFM_C'") [Var 2,Var 1,Var 3,Var 5,Var 6])])),Func ("FiniteMap","addToFM_C") 4 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("FiniteMap","FM") [TVar 1,TVar 0]) (FuncType (TVar 1) (FuncType (TVar 0) (TCons ("FiniteMap","FM") [TVar 1,TVar 0]))))) (Rule [1,2,3,4] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [5,6]) (Comb ConsCall ("FiniteMap","FM") [Var 5,Comb FuncCall ("FiniteMap","addToFM_C'") [Var 5,Var 1,Var 6,Var 3,Var 4]])])),Func ("FiniteMap","addListToFM_C") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("FiniteMap","FM") [TVar 1,TVar 0]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 1,TVar 0]]) (TCons ("FiniteMap","FM") [TVar 1,TVar 0])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [4,5]) (Comb ConsCall ("FiniteMap","FM") [Var 4,Comb FuncCall ("FiniteMap","addListToFM_C'") [Var 4,Var 1,Var 5,Var 3]])])),Func ("FiniteMap","delFromFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TVar 0) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("FiniteMap","delFromFM'") [Var 3,Var 4,Var 2]])])),Func ("FiniteMap","delFromFM'") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TVar 0) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 4,Var 5,Comb FuncCall ("FiniteMap","delFromFM'") [Var 1,Var 7,Var 3],Var 8]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 3,Var 4]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","glueBal") [Var 1,Var 7,Var 8]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 4,Var 5,Var 7,Comb FuncCall ("FiniteMap","delFromFM'") [Var 1,Var 8,Var 3]])])])])),Func ("FiniteMap","delListFromFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("Prelude","foldl") [Comb (FuncPartCall 2) ("FiniteMap","delFromFM'") [Var 3],Var 4,Var 2]])])),Func ("FiniteMap","updFM") 3 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (TVar 1)) (TCons ("FiniteMap","FM") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [4,5]) (Comb ConsCall ("FiniteMap","FM") [Var 4,Comb FuncCall ("FiniteMap","updFM.upd.49") [Var 3,Var 2,Var 4,Var 5]])])),Func ("FiniteMap","updFM.upd.49") 4 Private (FuncType (FuncType (TVar 523) (TVar 523)) (FuncType (TVar 535) (FuncType (FuncType (TVar 535) (FuncType (TVar 535) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 535,TVar 523]) (TCons ("FiniteMap","FiniteMap") [TVar 535,TVar 523]))))) (Rule [1,2,3,4] (Case Flex (Var 4) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 2,Var 5]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FiniteMap","Branch") [Var 5,Comb FuncCall ("Prelude","apply") [Var 1,Var 6],Var 7,Var 8,Var 9]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Var 2],Var 5]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FiniteMap","Branch") [Var 5,Var 6,Var 7,Comb FuncCall ("FiniteMap","updFM.upd.49") [Var 1,Var 2,Var 3,Var 8],Var 9]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("FiniteMap","Branch") [Var 5,Var 6,Var 7,Var 8,Comb FuncCall ("FiniteMap","updFM.upd.49") [Var 1,Var 2,Var 3,Var 9]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("FiniteMap","splitFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TCons ("FiniteMap","FM") [TVar 0,TVar 1],TCons ("Prelude","(,)") [TVar 0,TVar 1]]]))) (Rule [1,2] (Comb FuncCall ("Prelude","maybe") [Comb ConsCall ("Prelude","Nothing") [],Comb (FuncPartCall 1) ("FiniteMap","splitFM._#lambda4") [Var 1,Var 2],Comb FuncCall ("FiniteMap","lookupFM") [Var 1,Var 2]])),Func ("FiniteMap","splitFM._#lambda4") 3 Private (FuncType (TCons ("FiniteMap","FM") [TVar 593,TVar 600]) (FuncType (TVar 593) (FuncType (TVar 600) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TCons ("FiniteMap","FM") [TVar 593,TVar 600],TCons ("Prelude","(,)") [TVar 593,TVar 600]]])))) (Rule [1,2,3] (Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("FiniteMap","delFromFM") [Var 1,Var 2],Comb ConsCall ("Prelude","(,)") [Var 2,Var 3]]])),Func ("FiniteMap","plusFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [5,6]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("FiniteMap","plusFM'") [Var 3,Var 4,Var 6]])])])),Func ("FiniteMap","plusFM'") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Var 3),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","Branch") [Var 4,Var 5,Var 6,Var 7,Var 8]),Branch (Pattern ("FiniteMap","Branch") [9,10,11,12,13]) (Let [(14,Comb ConsCall ("FiniteMap","Branch") [Var 4,Var 5,Var 6,Var 7,Var 8])] (Let [(15,Comb FuncCall ("FiniteMap","splitLT") [Var 1,Var 14,Var 9])] (Let [(16,Comb FuncCall ("FiniteMap","splitGT") [Var 1,Var 14,Var 9])] (Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 9,Var 10,Comb FuncCall ("FiniteMap","plusFM'") [Var 1,Var 15,Var 12],Comb FuncCall ("FiniteMap","plusFM'") [Var 1,Var 16,Var 13]]))))])])),Func ("FiniteMap","plusFM_C") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("FiniteMap","FM") [TVar 1,TVar 0]) (FuncType (TCons ("FiniteMap","FM") [TVar 1,TVar 0]) (TCons ("FiniteMap","FM") [TVar 1,TVar 0])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [4,5]) (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","FM") [6,7]) (Comb ConsCall ("FiniteMap","FM") [Var 4,Comb FuncCall ("FiniteMap","plusFM_C'") [Var 4,Var 1,Var 5,Var 7]])])])),Func ("FiniteMap","plusFM_C'") 4 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (FuncType (TVar 1) (FuncType (TVar 1) (TVar 1))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]))))) (Rule [1,2,3,4] (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Var 4),Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Case Flex (Var 4) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","Branch") [Var 5,Var 6,Var 7,Var 8,Var 9]),Branch (Pattern ("FiniteMap","Branch") [10,11,12,13,14]) (Let [(15,Comb ConsCall ("FiniteMap","Branch") [Var 5,Var 6,Var 7,Var 8,Var 9])] (Let [(16,Comb FuncCall ("FiniteMap","splitLT") [Var 1,Var 15,Var 10])] (Let [(17,Comb FuncCall ("FiniteMap","splitGT") [Var 1,Var 15,Var 10])] (Let [(18,Case Rigid (Comb FuncCall ("FiniteMap","lookupFM'") [Var 1,Var 15,Var 10]) [Branch (Pattern ("Prelude","Nothing") []) (Var 11),Branch (Pattern ("Prelude","Just") [19]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 19],Var 11])])] (Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 10,Var 18,Comb FuncCall ("FiniteMap","plusFM_C'") [Var 1,Var 2,Var 16,Var 13],Comb FuncCall ("FiniteMap","plusFM_C'") [Var 1,Var 2,Var 17,Var 14]])))))])])),Func ("FiniteMap","minusFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [5,6]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("FiniteMap","minusFM'") [Var 3,Var 4,Var 6]])])])),Func ("FiniteMap","minusFM'") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 2]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","Branch") [Var 4,Var 5,Var 6,Var 7,Var 8]),Branch (Pattern ("FiniteMap","Branch") [9,10,11,12,13]) (Let [(14,Comb ConsCall ("FiniteMap","Branch") [Var 4,Var 5,Var 6,Var 7,Var 8])] (Let [(15,Comb FuncCall ("FiniteMap","splitLT") [Var 1,Var 14,Var 9])] (Let [(16,Comb FuncCall ("FiniteMap","splitGT") [Var 1,Var 14,Var 9])] (Comb FuncCall ("FiniteMap","glueVBal") [Var 1,Comb FuncCall ("FiniteMap","minusFM'") [Var 1,Var 15,Var 12],Comb FuncCall ("FiniteMap","minusFM'") [Var 1,Var 16,Var 13]]))))])])),Func ("FiniteMap","intersectFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [5,6]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("FiniteMap","intersectFM'") [Var 3,Var 4,Var 6]])])])),Func ("FiniteMap","intersectFM'") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 2]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 2])))) (Rule [1,2,3] (Comb FuncCall ("FiniteMap","intersectFM_C'") [Var 1,Comb (FuncPartCall 2) ("FiniteMap","intersectFM'._#lambda6") [],Var 2,Var 3])),Func ("FiniteMap","intersectFM'._#lambda6") 2 Private (FuncType (TVar 1051) (FuncType (TVar 1052) (TVar 1052))) (Rule [1,2] (Var 2)),Func ("FiniteMap","intersectFM_C") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 1))) (FuncType (TCons ("FiniteMap","FM") [TVar 2,TVar 0]) (FuncType (TCons ("FiniteMap","FM") [TVar 2,TVar 0]) (TCons ("FiniteMap","FM") [TVar 2,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [4,5]) (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","FM") [6,7]) (Comb ConsCall ("FiniteMap","FM") [Var 4,Comb FuncCall ("FiniteMap","intersectFM_C'") [Var 4,Var 1,Var 5,Var 7]])])])),Func ("FiniteMap","intersectFM_C'") 4 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 2]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 3]))))) (Rule [1,2,3,4] (Case Flex (Var 4) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [10,11,12,13,14]) (Let [(15,Comb ConsCall ("FiniteMap","Branch") [Var 10,Var 11,Var 12,Var 13,Var 14])] (Let [(16,Comb FuncCall ("FiniteMap","splitLT") [Var 1,Var 15,Var 5])] (Let [(17,Comb FuncCall ("FiniteMap","splitGT") [Var 1,Var 15,Var 5])] (Let [(18,Comb FuncCall ("FiniteMap","lookupFM'") [Var 1,Var 15,Var 5])] (Let [(19,Var 18)] (Let [(20,Comb FuncCall ("FiniteMap","intersectFM_C'._#selFP3#elt1'") [Var 19])] (Case Rigid (Comb FuncCall ("Maybe","isJust") [Var 18]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 5,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 20],Var 6],Comb FuncCall ("FiniteMap","intersectFM_C'") [Var 1,Var 2,Var 16,Var 8],Comb FuncCall ("FiniteMap","intersectFM_C'") [Var 1,Var 2,Var 17,Var 9]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","glueVBal") [Var 1,Comb FuncCall ("FiniteMap","intersectFM_C'") [Var 1,Var 2,Var 16,Var 8],Comb FuncCall ("FiniteMap","intersectFM_C'") [Var 1,Var 2,Var 17,Var 9]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])))))))])])),Func ("FiniteMap","intersectFM_C'._#selFP3#elt1'") 1 Private (FuncType (TCons ("Prelude","Maybe") [TVar 1000]) (TVar 1000)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Just") [2]) (Var 2)])),Func ("FiniteMap","foldFM") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TVar 2) (TVar 2)))) (FuncType (TVar 2) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TVar 2)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","FM") [4,5]) (Comb FuncCall ("FiniteMap","foldFM'") [Var 4,Var 1,Var 2,Var 5])])),Func ("FiniteMap","foldFM'") 4 Private (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (FuncType (TVar 2) (FuncType (TVar 3) (TVar 3)))) (FuncType (TVar 3) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 1,TVar 2]) (TVar 3))))) (Rule [1,2,3,4] (Case Flex (Var 4) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Var 3),Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Comb FuncCall ("FiniteMap","foldFM'") [Var 1,Var 2,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 5],Var 6],Comb FuncCall ("FiniteMap","foldFM'") [Var 1,Var 2,Var 3,Var 9]],Var 8])])),Func ("FiniteMap","mapFM") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("FiniteMap","FM") [TVar 0,TVar 2]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("FiniteMap","mapFM'") [Var 3,Var 1,Var 4]])])),Func ("FiniteMap","mapFM'") 3 Private (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (FuncType (TVar 2) (TVar 3))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 1,TVar 2]) (TCons ("FiniteMap","FiniteMap") [TVar 1,TVar 3])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Comb ConsCall ("FiniteMap","Branch") [Var 4,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 4],Var 5],Var 6,Comb FuncCall ("FiniteMap","mapFM'") [Var 1,Var 2,Var 7],Comb FuncCall ("FiniteMap","mapFM'") [Var 1,Var 2,Var 8]])])),Func ("FiniteMap","filterFM") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("FiniteMap","FM") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Comb ConsCall ("FiniteMap","FM") [Var 3,Comb FuncCall ("FiniteMap","filterFM'") [Var 3,Var 1,Var 4]])])),Func ("FiniteMap","filterFM'") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 4],Var 5]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 4,Var 5,Comb FuncCall ("FiniteMap","filterFM'") [Var 1,Var 2,Var 7],Comb FuncCall ("FiniteMap","filterFM'") [Var 1,Var 2,Var 8]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","glueVBal") [Var 1,Comb FuncCall ("FiniteMap","filterFM'") [Var 1,Var 2,Var 7],Comb FuncCall ("FiniteMap","filterFM'") [Var 1,Var 2,Var 8]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("FiniteMap","sizeFM") 1 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [2,3]) (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Lit (Intc 0)),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Var 6)])])),Func ("FiniteMap","sizeFM'") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("Prelude","Int") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Lit (Intc 0)),Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 4)])),Func ("FiniteMap","eqFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","==") [Comb FuncCall ("FiniteMap","sizeFM") [Var 1],Comb FuncCall ("FiniteMap","sizeFM") [Var 2]],Comb FuncCall ("Prelude","==") [Comb FuncCall ("FiniteMap","fmToList") [Var 1],Comb FuncCall ("FiniteMap","fmToList") [Var 2]]])),Func ("FiniteMap","isEmptyFM") 1 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("FiniteMap","sizeFM") [Var 1],Lit (Intc 0)])),Func ("FiniteMap","elemFM") 2 Public (FuncType (TVar 0) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Maybe","isJust") [Comb FuncCall ("FiniteMap","lookupFM") [Var 2,Var 1]])),Func ("FiniteMap","lookupFM") 2 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [3,4]) (Comb FuncCall ("FiniteMap","lookupFM'") [Var 3,Var 4,Var 2])])),Func ("FiniteMap","lookupFM'") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("Prelude","Nothing") []),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","lookupFM'") [Var 1,Var 7,Var 3]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 3,Var 4]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","Just") [Var 5]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","lookupFM'") [Var 1,Var 8,Var 3])])])])),Func ("FiniteMap","lookupWithDefaultFM") 3 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TVar 1) (FuncType (TVar 0) (TVar 1)))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("FiniteMap","lookupFM") [Var 1,Var 3]) [Branch (Pattern ("Prelude","Nothing") []) (Var 2),Branch (Pattern ("Prelude","Just") [4]) (Var 4)])),Func ("FiniteMap","keyOrder") 1 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") [])))) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [2,3]) (Var 2)])),Func ("FiniteMap","minFM") 0 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("FiniteMap","minFM.min.215") [],Comb (FuncPartCall 1) ("FiniteMap","tree") []])),Func ("FiniteMap","minFM.min.215") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("Prelude","Nothing") []),Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 5,Comb ConsCall ("FiniteMap","EmptyFM") []]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","(,)") [Var 2,Var 3]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","minFM.min.215") [Var 5]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("FiniteMap","maxFM") 0 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("FiniteMap","maxFM.max.223") [],Comb (FuncPartCall 1) ("FiniteMap","tree") []])),Func ("FiniteMap","maxFM.max.223") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("Prelude","Nothing") []),Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 6,Comb ConsCall ("FiniteMap","EmptyFM") []]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","(,)") [Var 2,Var 3]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","maxFM.max.223") [Var 6]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])),Func ("FiniteMap","fmToList") 1 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [1] (Comb FuncCall ("FiniteMap","foldFM") [Comb (FuncPartCall 3) ("FiniteMap","fmToList._#lambda8") [],Comb ConsCall ("Prelude","[]") [],Var 1])),Func ("FiniteMap","fmToList._#lambda8") 3 Private (FuncType (TVar 1237) (FuncType (TVar 1238) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 1237,TVar 1238]]) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 1237,TVar 1238]])))) (Rule [1,2,3] (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude","(,)") [Var 1,Var 2],Var 3])),Func ("FiniteMap","keysFM") 1 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Comb FuncCall ("FiniteMap","foldFM") [Comb (FuncPartCall 3) ("FiniteMap","keysFM._#lambda9") [],Comb ConsCall ("Prelude","[]") [],Var 1])),Func ("FiniteMap","keysFM._#lambda9") 3 Private (FuncType (TVar 1356) (FuncType (TVar 1353) (FuncType (TCons ("Prelude","[]") [TVar 1356]) (TCons ("Prelude","[]") [TVar 1356])))) (Rule [1,2,3] (Comb ConsCall ("Prelude",":") [Var 1,Var 3])),Func ("FiniteMap","eltsFM") 1 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","[]") [TVar 1])) (Rule [1] (Comb FuncCall ("FiniteMap","foldFM") [Comb (FuncPartCall 3) ("FiniteMap","eltsFM._#lambda10") [],Comb ConsCall ("Prelude","[]") [],Var 1])),Func ("FiniteMap","eltsFM._#lambda10") 3 Private (FuncType (TVar 1363) (FuncType (TVar 1367) (FuncType (TCons ("Prelude","[]") [TVar 1367]) (TCons ("Prelude","[]") [TVar 1367])))) (Rule [1,2,3] (Comb ConsCall ("Prelude",":") [Var 2,Var 3])),Func ("FiniteMap","fmToListPreOrder") 1 Public (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [2,3]) (Comb FuncCall ("FiniteMap","fmToListPreOrder.pre.243") [Var 3,Comb ConsCall ("Prelude","[]") []])])),Func ("FiniteMap","fmToListPreOrder.pre.243") 2 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,TVar 1]]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Var 2),Branch (Pattern ("FiniteMap","Branch") [3,4,5,6,7]) (Comb ConsCall ("Prelude",":") [Comb ConsCall ("Prelude","(,)") [Var 3,Var 4],Comb FuncCall ("FiniteMap","fmToListPreOrder.pre.243") [Var 6,Comb FuncCall ("FiniteMap","fmToListPreOrder.pre.243") [Var 7,Var 2]]])])),Func ("FiniteMap","fmSortBy") 2 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [1,2] (Comb FuncCall ("FiniteMap","keysFM") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FiniteMap","listToFM") [Var 1],Comb FuncCall ("Prelude","zip") [Var 2,Comb FuncCall ("Prelude","repeat") [Comb ConsCall ("Prelude","()") []]]]])),Func ("FiniteMap","tree") 1 Private (FuncType (TCons ("FiniteMap","FM") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","FM") [2,3]) (Var 3)])),Func ("FiniteMap","toGT") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") [])))) (Rule [1,2,3] (Comb FuncCall ("Prelude","&&") [Comb FuncCall ("Prelude","not") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 2],Var 3]],Comb FuncCall ("Prelude","/=") [Var 2,Var 3]])),Func ("FiniteMap","isEmptyFM'") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("Prelude","Bool") [])) (Rule [1] (Comb FuncCall ("Prelude","==") [Comb FuncCall ("FiniteMap","sizeFM'") [Var 1],Lit (Intc 0)])),Func ("FiniteMap","sIZE_RATIO") 0 Private (TCons ("Prelude","Int") []) (Rule [] (Lit (Intc 5))),Func ("FiniteMap","mkBranch") 5 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))))) (Rule [1,2,3,4,5] (Let [(6,Comb FuncCall ("FiniteMap","sizeFM'") [Var 4])] (Let [(7,Comb FuncCall ("FiniteMap","sizeFM'") [Var 5])] (Comb ConsCall ("FiniteMap","Branch") [Var 2,Var 3,Comb FuncCall ("FiniteMap","mkBranch.unbox.264") [Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","+") [Lit (Intc 1),Var 6],Var 7]],Var 4,Var 5])))),Func ("FiniteMap","mkBranch.unbox.264") 1 Private (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") [])) (Rule [1] (Var 1)),Func ("FiniteMap","mkBalBranch") 4 Private (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]))))) (Rule [1,2,3,4] (Let [(5,Comb FuncCall ("FiniteMap","sizeFM'") [Var 3])] (Let [(6,Comb FuncCall ("FiniteMap","sizeFM'") [Var 4])] (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("Prelude","+") [Var 5,Var 6],Lit (Intc 2)]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 1),Var 1,Var 2,Var 3,Var 4]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude",">") [Var 6,Comb FuncCall ("Prelude","*") [Comb FuncCall ("FiniteMap","sIZE_RATIO") [],Var 5]]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Var 4) [Branch (Pattern ("FiniteMap","Branch") [7,8,9,10,11]) (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("FiniteMap","sizeFM'") [Var 10],Comb FuncCall ("Prelude","*") [Lit (Intc 2),Comb FuncCall ("FiniteMap","sizeFM'") [Var 11]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch.single_L.273") [Var 2,Var 1,Var 3,Var 4]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","mkBalBranch.double_L.273") [Var 2,Var 1,Var 3,Var 4])]),Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb FuncCall ("Prelude","failed") [])]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude",">") [Var 5,Comb FuncCall ("Prelude","*") [Comb FuncCall ("FiniteMap","sIZE_RATIO") [],Var 6]]) [Branch (Pattern ("Prelude","True") []) (Case Rigid (Var 3) [Branch (Pattern ("FiniteMap","Branch") [12,13,14,15,16]) (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("FiniteMap","sizeFM'") [Var 16],Comb FuncCall ("Prelude","*") [Lit (Intc 2),Comb FuncCall ("FiniteMap","sizeFM'") [Var 15]]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch.single_R.273") [Var 2,Var 1,Var 3,Var 4]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","mkBalBranch.double_R.273") [Var 2,Var 1,Var 3,Var 4])]),Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb FuncCall ("Prelude","failed") [])]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 2),Var 1,Var 2,Var 3,Var 4]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])))),Func ("FiniteMap","mkBalBranch.single_L.273") 4 Private (FuncType (TVar 170) (FuncType (TVar 169) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]))))) (Rule [1,2,3,4] (Case Flex (Var 4) [Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 3),Var 5,Var 6,Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 4),Var 2,Var 1,Var 3,Var 8],Var 9])])),Func ("FiniteMap","mkBalBranch.double_L.273") 4 Private (FuncType (TVar 170) (FuncType (TVar 169) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]))))) (Rule [1,2,3,4] (Case Flex (Var 4) [Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Case Flex (Var 8) [Branch (Pattern ("FiniteMap","Branch") [10,11,12,13,14]) (Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 5),Var 10,Var 11,Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 6),Var 2,Var 1,Var 3,Var 13],Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 7),Var 5,Var 6,Var 14,Var 9]])])])),Func ("FiniteMap","mkBalBranch.single_R.273") 4 Private (FuncType (TVar 170) (FuncType (TVar 169) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]))))) (Rule [1,2,3,4] (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 8),Var 5,Var 6,Var 8,Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 9),Var 2,Var 1,Var 9,Var 4]])])),Func ("FiniteMap","mkBalBranch.double_R.273") 4 Private (FuncType (TVar 170) (FuncType (TVar 169) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]) (TCons ("FiniteMap","FiniteMap") [TVar 169,TVar 170]))))) (Rule [1,2,3,4] (Case Flex (Var 3) [Branch (Pattern ("FiniteMap","Branch") [5,6,7,8,9]) (Case Flex (Var 9) [Branch (Pattern ("FiniteMap","Branch") [10,11,12,13,14]) (Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 10),Var 10,Var 11,Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 11),Var 5,Var 6,Var 8,Var 13],Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 12),Var 2,Var 1,Var 14,Var 4]])])])),Func ("FiniteMap","mkVBalBranch") 5 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))))) (Rule [1,2,3,4,5] (Case Flex (Var 4) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb FuncCall ("FiniteMap","addToFM'") [Var 1,Var 5,Var 2,Var 3]),Branch (Pattern ("FiniteMap","Branch") [6,7,8,9,10]) (Case Flex (Var 5) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb FuncCall ("FiniteMap","addToFM'") [Var 1,Comb ConsCall ("FiniteMap","Branch") [Var 6,Var 7,Var 8,Var 9,Var 10],Var 2,Var 3]),Branch (Pattern ("FiniteMap","Branch") [11,12,13,14,15]) (Let [(16,Comb ConsCall ("FiniteMap","Branch") [Var 6,Var 7,Var 8,Var 9,Var 10])] (Let [(17,Comb ConsCall ("FiniteMap","Branch") [Var 11,Var 12,Var 13,Var 14,Var 15])] (Let [(18,Comb FuncCall ("FiniteMap","sizeFM'") [Var 16])] (Let [(19,Comb FuncCall ("FiniteMap","sizeFM'") [Var 17])] (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("Prelude","*") [Comb FuncCall ("FiniteMap","sIZE_RATIO") [],Var 18],Var 19]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 11,Var 12,Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 2,Var 3,Var 16,Var 14],Var 15]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("Prelude","*") [Comb FuncCall ("FiniteMap","sIZE_RATIO") [],Var 19],Var 18]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 6,Var 7,Var 9,Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 2,Var 3,Var 10,Var 17]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBranch") [Lit (Intc 13),Var 2,Var 3,Var 16,Var 17]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])))))])])),Func ("FiniteMap","glueBal") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("FiniteMap","isEmptyFM'") [Var 2]) [Branch (Pattern ("Prelude","True") []) (Var 3),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("FiniteMap","isEmptyFM'") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Let [(4,Comb FuncCall ("FiniteMap","findMax") [Var 2])] (Let [(5,Comb FuncCall ("FiniteMap","glueBal._#selFP8#mid_key1") [Var 4])] (Let [(6,Comb FuncCall ("FiniteMap","glueBal._#selFP9#mid_elt1") [Var 4])] (Let [(7,Comb FuncCall ("FiniteMap","findMin") [Var 3])] (Let [(8,Comb FuncCall ("FiniteMap","glueBal._#selFP6#mid_key2") [Var 7])] (Let [(9,Comb FuncCall ("FiniteMap","glueBal._#selFP7#mid_elt2") [Var 7])] (Case Rigid (Comb FuncCall ("Prelude",">") [Comb FuncCall ("FiniteMap","sizeFM'") [Var 3],Comb FuncCall ("FiniteMap","sizeFM'") [Var 2]]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 8,Var 9,Var 2,Comb FuncCall ("FiniteMap","deleteMin") [Var 1,Var 3]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 5,Var 6,Comb FuncCall ("FiniteMap","deleteMax") [Var 1,Var 2],Var 3])])))))))])])),Func ("FiniteMap","glueBal._#selFP8#mid_key1") 1 Private (FuncType (TCons ("Prelude","(,)") [TVar 439,TVar 440]) (TVar 439)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("FiniteMap","glueBal._#selFP9#mid_elt1") 1 Private (FuncType (TCons ("Prelude","(,)") [TVar 439,TVar 440]) (TVar 440)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("FiniteMap","glueBal._#selFP6#mid_key2") 1 Private (FuncType (TCons ("Prelude","(,)") [TVar 439,TVar 440]) (TVar 439)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("FiniteMap","glueBal._#selFP7#mid_elt2") 1 Private (FuncType (TCons ("Prelude","(,)") [TVar 439,TVar 440]) (TVar 440)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("FiniteMap","glueVBal") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Rigid (Comb FuncCall ("FiniteMap","isEmptyFM'") [Var 2]) [Branch (Pattern ("Prelude","True") []) (Var 3),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("FiniteMap","isEmptyFM'") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Var 2),Branch (Pattern ("Prelude","False") []) (Let [(4,Var 2)] (Let [(5,Comb FuncCall ("FiniteMap","glueVBal._#selFP16#key_l") [Var 4])] (Let [(6,Comb FuncCall ("FiniteMap","glueVBal._#selFP17#elt_l") [Var 4])] (Let [(7,Comb FuncCall ("FiniteMap","glueVBal._#selFP18#fm_ll") [Var 4])] (Let [(8,Comb FuncCall ("FiniteMap","glueVBal._#selFP19#fm_lr") [Var 4])] (Let [(9,Var 3)] (Let [(10,Comb FuncCall ("FiniteMap","glueVBal._#selFP12#key_r") [Var 9])] (Let [(11,Comb FuncCall ("FiniteMap","glueVBal._#selFP13#elt_r") [Var 9])] (Let [(12,Comb FuncCall ("FiniteMap","glueVBal._#selFP14#fm_rl") [Var 9])] (Let [(13,Comb FuncCall ("FiniteMap","glueVBal._#selFP15#fm_rr") [Var 9])] (Let [(14,Comb FuncCall ("FiniteMap","sizeFM'") [Var 2])] (Let [(15,Comb FuncCall ("FiniteMap","sizeFM'") [Var 3])] (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("Prelude","*") [Comb FuncCall ("FiniteMap","sIZE_RATIO") [],Var 14],Var 15]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 10,Var 11,Comb FuncCall ("FiniteMap","glueVBal") [Var 1,Var 2,Var 12],Var 13]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","<") [Comb FuncCall ("Prelude","*") [Comb FuncCall ("FiniteMap","sIZE_RATIO") [],Var 15],Var 14]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 5,Var 6,Var 7,Comb FuncCall ("FiniteMap","glueVBal") [Var 1,Var 8,Var 3]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","glueBal") [Var 1,Var 2,Var 3])])])))))))))))))])])),Func ("FiniteMap","glueVBal._#selFP16#key_l") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TVar 876)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 2)])),Func ("FiniteMap","glueVBal._#selFP17#elt_l") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TVar 877)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 3)])),Func ("FiniteMap","glueVBal._#selFP18#fm_ll") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 5)])),Func ("FiniteMap","glueVBal._#selFP19#fm_lr") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 6)])),Func ("FiniteMap","glueVBal._#selFP12#key_r") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TVar 876)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 2)])),Func ("FiniteMap","glueVBal._#selFP13#elt_r") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TVar 877)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 3)])),Func ("FiniteMap","glueVBal._#selFP14#fm_rl") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 5)])),Func ("FiniteMap","glueVBal._#selFP15#fm_rr") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877]) (TCons ("FiniteMap","FiniteMap") [TVar 876,TVar 877])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Var 6)])),Func ("FiniteMap","splitLT") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TVar 0) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","splitLT") [Var 1,Var 7,Var 3]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 3,Var 4]) [Branch (Pattern ("Prelude","True") []) (Var 7),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 4,Var 5,Var 7,Comb FuncCall ("FiniteMap","splitLT") [Var 1,Var 8,Var 3]])])])])),Func ("FiniteMap","splitGT") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (FuncType (TVar 0) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("FiniteMap","EmptyFM") []),Branch (Pattern ("FiniteMap","Branch") [4,5,6,7,8]) (Case Rigid (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Var 4]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("FiniteMap","mkVBalBranch") [Var 1,Var 4,Var 5,Comb FuncCall ("FiniteMap","splitGT") [Var 1,Var 7,Var 3],Var 8]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 3,Var 4]) [Branch (Pattern ("Prelude","True") []) (Var 8),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("FiniteMap","splitGT") [Var 1,Var 8,Var 3])])])])),Func ("FiniteMap","findMin") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("Prelude","(,)") [TVar 0,TVar 1])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Case Flex (Var 5) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("Prelude","(,)") [Var 2,Var 3]),Branch (Pattern ("FiniteMap","Branch") [7,8,9,10,11]) (Comb FuncCall ("FiniteMap","findMin") [Comb ConsCall ("FiniteMap","Branch") [Var 7,Var 8,Var 9,Var 10,Var 11]])])])),Func ("FiniteMap","deleteMin") 2 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","Branch") [3,4,5,6,7]) (Case Flex (Var 6) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Var 7),Branch (Pattern ("FiniteMap","Branch") [8,9,10,11,12]) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 3,Var 4,Comb FuncCall ("FiniteMap","deleteMin") [Var 1,Comb ConsCall ("FiniteMap","Branch") [Var 8,Var 9,Var 10,Var 11,Var 12]],Var 7])])])),Func ("FiniteMap","findMax") 1 Private (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("Prelude","(,)") [TVar 0,TVar 1])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("FiniteMap","Branch") [2,3,4,5,6]) (Case Flex (Var 6) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Comb ConsCall ("Prelude","(,)") [Var 2,Var 3]),Branch (Pattern ("FiniteMap","Branch") [7,8,9,10,11]) (Comb FuncCall ("FiniteMap","findMax") [Comb ConsCall ("FiniteMap","Branch") [Var 7,Var 8,Var 9,Var 10,Var 11]])])])),Func ("FiniteMap","deleteMax") 2 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]) (TCons ("FiniteMap","FiniteMap") [TVar 0,TVar 1]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("FiniteMap","Branch") [3,4,5,6,7]) (Case Flex (Var 7) [Branch (Pattern ("FiniteMap","EmptyFM") []) (Var 6),Branch (Pattern ("FiniteMap","Branch") [8,9,10,11,12]) (Comb FuncCall ("FiniteMap","mkBalBranch") [Var 3,Var 4,Var 6,Comb FuncCall ("FiniteMap","deleteMax") [Var 1,Comb ConsCall ("FiniteMap","Branch") [Var 8,Var 9,Var 10,Var 11,Var 12]]])])])),Func ("FiniteMap","emptySet") 0 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []])) (Rule [] (Comb (FuncPartCall 1) ("FiniteMap","emptyFM") [])),Func ("FiniteMap","mkSet") 2 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("FiniteMap","listToFM") [Var 1],Comb FuncCall ("Prelude","map") [Comb (FuncPartCall 1) ("FiniteMap","mkSet._#lambda13") [],Var 2]])),Func ("FiniteMap","mkSet._#lambda13") 1 Private (FuncType (TVar 1421) (TCons ("Prelude","(,)") [TVar 1421,TCons ("Prelude","()") []])) (Rule [1] (Comb ConsCall ("Prelude","(,)") [Var 1,Comb ConsCall ("Prelude","()") []])),Func ("FiniteMap","isEmptySet") 0 Private (FuncType (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]) (TCons ("Prelude","Bool") [])) (Rule [] (Comb (FuncPartCall 1) ("FiniteMap","isEmptyFM") [])),Func ("FiniteMap","elementOf") 0 Private (FuncType (TVar 0) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]) (TCons ("Prelude","Bool") []))) (Rule [] (Comb (FuncPartCall 2) ("FiniteMap","elemFM") [])),Func ("FiniteMap","minusSet") 0 Private (FuncType (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]) (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]))) (Rule [] (Comb (FuncPartCall 2) ("FiniteMap","minusFM") [])),Func ("FiniteMap","setToList") 0 Private (FuncType (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ("FiniteMap","keysFM") [])),Func ("FiniteMap","union") 0 Private (FuncType (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]) (FuncType (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]) (TCons ("FiniteMap","FM") [TVar 0,TCons ("Prelude","()") []]))) (Rule [] (Comb (FuncPartCall 2) ("FiniteMap","plusFM") []))] []