Okasaki's functional queue algorithms in haskell.