For efficient serialization of text representations of Haskell data types, optionally using format string like printf.