delete :: !a !.(Set a) -> Set a | < a delete x Tip = Tip delete x (Bin _ y l r) | x < y = balanceR y (delete x l) r | x > y = balanceL y l (delete x r) | otherwise = glue l r