some haskell experiments