AVL contract.
size :: Num a => Tree b -> a
height :: (Ord a, Num a) => Tree t -> a
Adding the type to the example t1 and t2
Retrieve the toList and fromList functions from the binary search tree
empty :: Tree a -> Bool
contains :: Ord a => Tree a -> a -> Bool
Update contract functions
isAVL :: Tree a -> Bool
heightFactor :: Tree a -> Int
Intermediary commit
Simplify the remove function and explicit the action
rotateLeft and rotateRight
We can use pattern matching inside structure.
Adding missing pattern on rotateLeft and rotateRight
rebalance :: Tree a -> Tree a
Reuse the BST module
Fix bad height implementation.
Adding left and right utility function to help in debugging trees.
Adding sample cases