Solutions to Purely Functional Data Structures in Haskell