Haskell examples of functional data structures defined in Chris Okasaki's "Purely Functional Data Structures"