AVL Trees in Haskell