Prog "SetRBT" ["Maybe","Prelude","RedBlackTree"] [TypeSyn ("SetRBT","SetRBT") Public [0] (TCons ("RedBlackTree","RedBlackTree") [TVar 0])] [Func ("SetRBT","emptySetRBT") 0 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (TCons ("RedBlackTree","RedBlackTree") [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ("RedBlackTree","empty") [Comb (FuncPartCall 2) ("Prelude","==") [],Comb (FuncPartCall 2) ("Prelude","==") []])),Func ("SetRBT","elemRBT") 1 Public (FuncType (TVar 0) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (TCons ("Prelude","Bool") []))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Maybe","isJust") [],Comb (FuncPartCall 1) ("RedBlackTree","lookup") [Var 1]])),Func ("SetRBT","insertRBT") 0 Public (FuncType (TVar 0) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (TCons ("RedBlackTree","RedBlackTree") [TVar 0]))) (Rule [] (Comb (FuncPartCall 2) ("RedBlackTree","update") [])),Func ("SetRBT","insertMultiRBT") 1 Public (FuncType (TVar 0) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (TCons ("RedBlackTree","RedBlackTree") [TVar 0]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("RedBlackTree","setInsertEquivalence") [Comb (FuncPartCall 2) ("Prelude","==") []],Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("RedBlackTree","update") [Var 1],Comb (FuncPartCall 1) ("RedBlackTree","setInsertEquivalence") [Comb (FuncPartCall 2) ("SetRBT","insertMultiRBT._#lambda2") []]]])),Func ("SetRBT","insertMultiRBT._#lambda2") 2 Private (FuncType (TVar 27) (FuncType (TVar 27) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb ConsCall ("Prelude","False") [])),Func ("SetRBT","deleteRBT") 0 Public (FuncType (TVar 0) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (TCons ("RedBlackTree","RedBlackTree") [TVar 0]))) (Rule [] (Comb (FuncPartCall 2) ("RedBlackTree","delete") [])),Func ("SetRBT","setRBT2list") 0 Public (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ("RedBlackTree","tree2list") [])),Func ("SetRBT","unionRBT") 2 Public (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (TCons ("RedBlackTree","RedBlackTree") [TVar 0]))) (Rule [1,2] (Comb FuncCall ("Prelude","foldr") [Comb FuncCall ("SetRBT","insertRBT") [],Var 2,Comb FuncCall ("Prelude","apply") [Comb FuncCall ("SetRBT","setRBT2list") [],Var 1]])),Func ("SetRBT","intersectRBT") 2 Public (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 0]) (TCons ("RedBlackTree","RedBlackTree") [TVar 0]))) (Rule [1,2] (Comb FuncCall ("Prelude","foldr") [Comb FuncCall ("SetRBT","insertRBT") [],Comb FuncCall ("RedBlackTree","newTreeLike") [Var 1],Comb FuncCall ("Prelude","filter") [Comb (FuncPartCall 1) ("SetRBT","intersectRBT._#lambda3") [Var 2],Comb FuncCall ("Prelude","apply") [Comb FuncCall ("SetRBT","setRBT2list") [],Var 1]]])),Func ("SetRBT","intersectRBT._#lambda3") 2 Private (FuncType (TCons ("RedBlackTree","RedBlackTree") [TVar 46]) (FuncType (TVar 46) (TCons ("Prelude","Bool") []))) (Rule [1,2] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("SetRBT","elemRBT") [Var 2],Var 1])),Func ("SetRBT","sortRBT") 0 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Comb (FuncPartCall 2) ("RedBlackTree","sort") []))] []