A type-safe database wrapper for Haskell