Data structure implementations in functional languages (predominantly Haskell)