Type-safe library for generating haskell source code