Exercises from Chris Okasaki's book "Purely Functional Data Structures", implemented in Haskell