diff --git a/Network/Mail/Mime.hs b/Network/Mail/Mime.hs
--- a/Network/Mail/Mime.hs
+++ b/Network/Mail/Mime.hs
@@ -72,6 +72,7 @@
 
 -- | MIME boundary between parts of a message.
 newtype Boundary = Boundary { unBoundary :: Text }
+  deriving Show
 instance Random Boundary where
     randomR = const random
     random = first (Boundary . T.pack) . randomString 10
@@ -92,6 +93,7 @@
     -- version last.
     , mailParts :: [Alternatives]
     }
+  deriving Show
 
 -- | A mail message with the provided 'from' address and no other
 -- fields filled in.
@@ -109,9 +111,11 @@
     { addressName  :: Maybe Text
     , addressEmail :: Text
     }
+  deriving Show
 
 -- | How to encode a single part. You should use 'Base64' for binary data.
 data Encoding = None | Base64 | QuotedPrintableText | QuotedPrintableBinary
+  deriving Show
 
 -- | Multiple alternative representations of the same data. For example, you
 -- could provide a plain-text and HTML version of a message.
@@ -127,6 +131,7 @@
     , partHeaders :: Headers
     , partContent :: L.ByteString
     }
+  deriving Show
 
 type Headers = [(S.ByteString, Text)]
 type Pair = (Headers, Builder)
diff --git a/mime-mail.cabal b/mime-mail.cabal
--- a/mime-mail.cabal
+++ b/mime-mail.cabal
@@ -1,5 +1,5 @@
 Name:                mime-mail
-Version:             0.4.5.2
+Version:             0.4.6
 Synopsis:            Compose MIME email messages.
 Description:         This package provides some high-level datatypes for declaring MIME email messages, functions for automatically composing these into bytestrings, and the ability to send bytestrings via the sendmail executable. You can also use any other library you wish to send via different methods, eg directly to SMTP.
 Homepage:            http://github.com/snoyberg/mime-mail
