[haskell] draft