7 | data UnbalancedSet a = E | T (UnbalancedSet a) a (UnbalancedSet a)
10 | Ord a => Set UnbalancedSet a where
14 | member x (T a y b) = assert_total $
case compare x y of
19 | insert x E = T E x E
20 | insert x s@(T a y b) = assert_total $
case compare x y of
21 | LT => T (insert x a) y b
22 | GT => T a y (insert x b)