Statically-checked Haskell AVL tree