Simplified exception message
diff --git a/cryptography/fernet.py b/cryptography/fernet.py
index d0394b4..93eb32b 100644
--- a/cryptography/fernet.py
+++ b/cryptography/fernet.py
@@ -61,10 +61,7 @@
 
     def _encrypt_from_parts(self, data, current_time, iv):
         if not isinstance(data, six.binary_type):
-            raise TypeError(
-                "data must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("data must be bytes")
 
         padder = padding.PKCS7(algorithms.AES.block_size).padder()
         padded_data = padder.update(data) + padder.finalize()
@@ -84,10 +81,7 @@
 
     def decrypt(self, token, ttl=None):
         if not isinstance(token, six.binary_type):
-            raise TypeError(
-                "token must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("token must be bytes")
 
         current_time = int(time.time())
 
diff --git a/cryptography/hazmat/primitives/cmac.py b/cryptography/hazmat/primitives/cmac.py
index cc8e8f2..b01c517 100644
--- a/cryptography/hazmat/primitives/cmac.py
+++ b/cryptography/hazmat/primitives/cmac.py
@@ -48,10 +48,7 @@
         if self._ctx is None:
             raise AlreadyFinalized("Context was already finalized")
         if not isinstance(data, six.binary_type):
-            raise TypeError(
-                "data must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("data must be bytes")
         self._ctx.update(data)
 
     def finalize(self):
@@ -63,10 +60,7 @@
 
     def verify(self, signature):
         if not isinstance(signature, six.binary_type):
-            raise TypeError(
-                "signature must be binary type. This is str in Python 2 and "
-                "bytes in Python 3"
-            )
+            raise TypeError("signature must be bytes")
         digest = self.finalize()
         if not constant_time.bytes_eq(digest, signature):
             raise InvalidSignature("Signature did not match digest.")
diff --git a/cryptography/hazmat/primitives/constant_time.py b/cryptography/hazmat/primitives/constant_time.py
index 658b1f5..6d325a9 100644
--- a/cryptography/hazmat/primitives/constant_time.py
+++ b/cryptography/hazmat/primitives/constant_time.py
@@ -59,9 +59,6 @@
 def bytes_eq(a, b):
     if (not isinstance(a, six.binary_type) or
             not isinstance(b, six.binary_type)):
-            raise TypeError(
-                "a and b must be binary type. This is str in Python 2 and "
-                "bytes in Python 3"
-            )
+            raise TypeError("a and b must be bytes")
 
     return _lib.Cryptography_constant_time_bytes_eq(a, len(a), b, len(b)) == 1
diff --git a/cryptography/hazmat/primitives/hashes.py b/cryptography/hazmat/primitives/hashes.py
index a9b5b55..2efd848 100644
--- a/cryptography/hazmat/primitives/hashes.py
+++ b/cryptography/hazmat/primitives/hashes.py
@@ -47,10 +47,7 @@
         if self._ctx is None:
             raise AlreadyFinalized("Context was already finalized")
         if not isinstance(data, six.binary_type):
-            raise TypeError(
-                "data must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("data must be bytes")
         self._ctx.update(data)
 
     def copy(self):
diff --git a/cryptography/hazmat/primitives/hmac.py b/cryptography/hazmat/primitives/hmac.py
index e39fcf8..5d7bad5 100644
--- a/cryptography/hazmat/primitives/hmac.py
+++ b/cryptography/hazmat/primitives/hmac.py
@@ -47,10 +47,7 @@
         if self._ctx is None:
             raise AlreadyFinalized("Context was already finalized")
         if not isinstance(msg, six.binary_type):
-            raise TypeError(
-                "msg must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("msg must be bytes")
         self._ctx.update(msg)
 
     def copy(self):
@@ -72,10 +69,7 @@
 
     def verify(self, signature):
         if not isinstance(signature, six.binary_type):
-            raise TypeError(
-                "signature must be binary type. This is str in Python 2 and "
-                "bytes in Python 3"
-            )
+            raise TypeError("signature must be bytes")
         digest = self.finalize()
         if not constant_time.bytes_eq(digest, signature):
             raise InvalidSignature("Signature did not match digest.")
diff --git a/cryptography/hazmat/primitives/kdf/hkdf.py b/cryptography/hazmat/primitives/kdf/hkdf.py
index e02d9af..adeecaf 100644
--- a/cryptography/hazmat/primitives/kdf/hkdf.py
+++ b/cryptography/hazmat/primitives/kdf/hkdf.py
@@ -35,10 +35,7 @@
         self._algorithm = algorithm
 
         if not isinstance(salt, six.binary_type) and salt is not None:
-            raise TypeError(
-                "salt must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("salt must be bytes")
 
         if salt is None:
             salt = b"\x00" * (self._algorithm.digest_size // 8)
@@ -56,10 +53,7 @@
 
     def derive(self, key_material):
         if not isinstance(key_material, six.binary_type):
-            raise TypeError(
-                "key_material must be binary type. This is str in Python 2 "
-                "and  bytes in Python 3"
-            )
+            raise TypeError("key_material must be bytes")
 
         return self._hkdf_expand.derive(self._extract(key_material))
 
@@ -92,10 +86,7 @@
         self._length = length
 
         if not isinstance(info, six.binary_type) and info is not None:
-            raise TypeError(
-                "info must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("info must be bytes")
 
         if info is None:
             info = b""
@@ -120,10 +111,7 @@
 
     def derive(self, key_material):
         if not isinstance(key_material, six.binary_type):
-            raise TypeError(
-                "key_material must be binary type. This is str in Python 2 "
-                "and  bytes in Python 3"
-            )
+            raise TypeError("key_material must be bytes")
 
         if self._used:
             raise AlreadyFinalized
diff --git a/cryptography/hazmat/primitives/kdf/pbkdf2.py b/cryptography/hazmat/primitives/kdf/pbkdf2.py
index 6711763..66a9b46 100644
--- a/cryptography/hazmat/primitives/kdf/pbkdf2.py
+++ b/cryptography/hazmat/primitives/kdf/pbkdf2.py
@@ -42,10 +42,7 @@
         self._algorithm = algorithm
         self._length = length
         if not isinstance(salt, six.binary_type):
-            raise TypeError(
-                "salt must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("salt must be bytes")
         self._salt = salt
         self._iterations = iterations
         self._backend = backend
@@ -56,10 +53,7 @@
         self._used = True
 
         if not isinstance(key_material, six.binary_type):
-            raise TypeError(
-                "key_material must be binary type. This is str in Python 2 "
-                "and  bytes in Python 3"
-            )
+            raise TypeError("key_material must be bytes")
         return self._backend.derive_pbkdf2_hmac(
             self._algorithm,
             self._length,
diff --git a/cryptography/hazmat/primitives/padding.py b/cryptography/hazmat/primitives/padding.py
index 982baae..e8e6a6d 100644
--- a/cryptography/hazmat/primitives/padding.py
+++ b/cryptography/hazmat/primitives/padding.py
@@ -105,10 +105,7 @@
             raise AlreadyFinalized("Context was already finalized")
 
         if not isinstance(data, six.binary_type):
-            raise TypeError(
-                "data must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("data must be bytes")
 
         self._buffer += data
 
@@ -141,10 +138,7 @@
             raise AlreadyFinalized("Context was already finalized")
 
         if not isinstance(data, six.binary_type):
-            raise TypeError(
-                "data must be binary type. This is str in Python 2 and bytes "
-                "in Python 3"
-            )
+            raise TypeError("data must be bytes")
 
         self._buffer += data
 
diff --git a/docs/fernet.rst b/docs/fernet.rst
index b75be77..1c4918a 100644
--- a/docs/fernet.rst
+++ b/docs/fernet.rst
@@ -40,9 +40,7 @@
         :returns bytes: A secure message that cannot be read or altered
                         without the key. It is URL-safe base64-encoded. This is
                         referred to as a "Fernet token".
-        :raises TypeError: This exception is raised if ``data`` is not a binary
-                           type. This is ``str`` in Python 2 and ``bytes`` in
-                           Python 3.
+        :raises TypeError: This exception is raised if ``data`` is not ``bytes``.
 
         .. note::
 
@@ -69,9 +67,7 @@
                                                   ``ttl``, it is malformed, or
                                                   it does not have a valid
                                                   signature.
-        :raises TypeError: This exception is raised if ``token`` is not a binary
-                           type. This is ``str`` in Python 2 and ``bytes`` in
-                           Python 3.
+        :raises TypeError: This exception is raised if ``token`` is not ``bytes``.
 
 
 .. class:: InvalidToken
diff --git a/docs/hazmat/primitives/constant-time.rst b/docs/hazmat/primitives/constant-time.rst
index 3296dbd..1394b6b 100644
--- a/docs/hazmat/primitives/constant-time.rst
+++ b/docs/hazmat/primitives/constant-time.rst
@@ -36,9 +36,8 @@
     :param bytes b: The right-hand side.
     :returns bool: ``True`` if ``a`` has the same bytes as ``b``, otherwise
                    ``False``.
-    :raises TypeError: This exception is raised if ``a`` or ``b`` is not a
-                       binary type. This is ``str`` in Python 2 and ``bytes``
-                       in Python 3.
+    :raises TypeError: This exception is raised if ``a`` or ``b`` is not
+                       ``bytes``.
 
 
 .. _`Coda Hale's blog post`: http://codahale.com/a-lesson-in-timing-attacks/
diff --git a/docs/hazmat/primitives/cryptographic-hashes.rst b/docs/hazmat/primitives/cryptographic-hashes.rst
index 43dee3f..7e5295c 100644
--- a/docs/hazmat/primitives/cryptographic-hashes.rst
+++ b/docs/hazmat/primitives/cryptographic-hashes.rst
@@ -54,9 +54,7 @@
 
         :param bytes data: The bytes to be hashed.
         :raises cryptography.exceptions.AlreadyFinalized: See :meth:`finalize`.
-        :raises TypeError: This exception is raised if ``data`` is not a binary
-                           type. This is ``str`` in Python 2 and ``bytes`` in
-                           Python 3.
+        :raises TypeError: This exception is raised if ``data`` is not ``bytes``.
 
     .. method:: copy()
 
diff --git a/docs/hazmat/primitives/key-derivation-functions.rst b/docs/hazmat/primitives/key-derivation-functions.rst
index c9c0c3c..f68b12c 100644
--- a/docs/hazmat/primitives/key-derivation-functions.rst
+++ b/docs/hazmat/primitives/key-derivation-functions.rst
@@ -88,9 +88,7 @@
         provided ``backend`` does not implement
         :class:`~cryptography.hazmat.backends.interfaces.PBKDF2HMACBackend`
 
-    :raises TypeError: This exception is raised if ``salt`` is not a binary
-                       type. This is ``str`` in Python 2 and ``bytes`` in
-                       Python 3.
+    :raises TypeError: This exception is raised if ``salt`` is not ``bytes``.
 
     .. method:: derive(key_material)
 
@@ -104,8 +102,7 @@
                                                           once.
 
         :raises TypeError: This exception is raised if ``key_material`` is not
-                           a binary type. This is ``str`` in Python 2 and
-                           ``bytes`` in Python 3.
+                           ``bytes``.
 
         This generates and returns a new key from the supplied password.
 
@@ -200,16 +197,14 @@
         :class:`~cryptography.hazmat.backends.interfaces.HMACBackend`
 
     :raises TypeError: This exception is raised if ``salt`` or ``info`` is not
-                       a binary type. This is ``str`` in Python 2 and ``bytes``
-                       in Python 3.
+                       ``bytes``.
 
     .. method:: derive(key_material)
 
         :param bytes key_material: The input key material.
         :return bytes: The derived key.
         :raises TypeError: This exception is raised if ``key_material`` is not
-                           a binary type. This is ``str`` in Python 2 and
-                           ``bytes`` in Python 3.
+                           ``bytes``.
 
         Derives a new key from the input key material by performing both the
         extract and expand operations.
@@ -292,9 +287,7 @@
         provided ``backend`` does not implement
         :class:`~cryptography.hazmat.backends.interfaces.HMACBackend`
     :raises TypeError: This is raised if the provided ``info`` is a unicode object
-    :raises TypeError: This exception is raised if ``info`` is not a binary
-                       type. This is ``str`` in Python 2 and ``bytes`` in
-                       Python 3.
+    :raises TypeError: This exception is raised if ``info`` is not ``bytes``.
 
     .. method:: derive(key_material)
 
@@ -304,8 +297,7 @@
         :raises TypeError: This is raised if the provided ``key_material`` is
             a unicode object
         :raises TypeError: This exception is raised if ``key_material`` is not
-                           a binary type. This is ``str`` in Python 2 and
-                           ``bytes`` in Python 3.
+                           ``bytes``.
 
         Derives a new key from the input key material by performing both the
         extract and expand operations.
diff --git a/docs/hazmat/primitives/mac/cmac.rst b/docs/hazmat/primitives/mac/cmac.rst
index 86c3b6a..23b1fea 100644
--- a/docs/hazmat/primitives/mac/cmac.rst
+++ b/docs/hazmat/primitives/mac/cmac.rst
@@ -68,9 +68,7 @@
 
         :param bytes data: The bytes to hash and authenticate.
         :raises cryptography.exceptions.AlreadyFinalized: See :meth:`finalize`
-        :raises TypeError: This exception is raised if ``data`` is not a binary
-                           type. This is ``str`` in Python 2 and ``bytes`` in
-                           Python 3.
+        :raises TypeError: This exception is raised if ``data`` is not ``bytes``.
 
     .. method:: copy()
 
@@ -92,9 +90,8 @@
         :raises cryptography.exceptions.AlreadyFinalized: See :meth:`finalize`
         :raises cryptography.exceptions.InvalidSignature: If signature does not
                                                                   match digest
-        :raises TypeError: This exception is raised if ``signature`` is not a
-                           binary type. This is ``str`` in Python 2 and
-                           ``bytes`` in Python 3.
+        :raises TypeError: This exception is raised if ``signature`` is not
+                           ``bytes``.
 
         .. method:: finalize()
 
diff --git a/docs/hazmat/primitives/mac/hmac.rst b/docs/hazmat/primitives/mac/hmac.rst
index 0fc4a19..d56927b 100644
--- a/docs/hazmat/primitives/mac/hmac.rst
+++ b/docs/hazmat/primitives/mac/hmac.rst
@@ -69,9 +69,7 @@
 
         :param bytes msg: The bytes to hash and authenticate.
         :raises cryptography.exceptions.AlreadyFinalized: See :meth:`finalize`
-        :raises TypeError: This exception is raised if ``msg`` is not a binary
-                           type. This is ``str`` in Python 2 and ``bytes`` in
-                           Python 3.
+        :raises TypeError: This exception is raised if ``msg`` is not ``bytes``.
 
     .. method:: copy()
 
@@ -93,9 +91,8 @@
         :raises cryptography.exceptions.AlreadyFinalized: See :meth:`finalize`
         :raises cryptography.exceptions.InvalidSignature: If signature does not
                                                           match digest
-        :raises TypeError: This exception is raised if ``signature`` is not a
-                           binary type. This is ``str`` in Python 2 and
-                           ``bytes`` in Python 3.
+        :raises TypeError: This exception is raised if ``signature`` is not
+                           ``bytes``.
 
     .. method:: finalize()
 
diff --git a/docs/hazmat/primitives/padding.rst b/docs/hazmat/primitives/padding.rst
index 72378e1..0322f9d 100644
--- a/docs/hazmat/primitives/padding.rst
+++ b/docs/hazmat/primitives/padding.rst
@@ -70,9 +70,7 @@
         :return bytes: Returns the data that was padded or unpadded.
         :raises TypeError: Raised if data is not bytes.
         :raises cryptography.exceptions.AlreadyFinalized: See :meth:`finalize`.
-        :raises TypeError: This exception is raised if ``data`` is not a binary
-                           type. This is ``str`` in Python 2 and ``bytes`` in
-                           Python 3.
+        :raises TypeError: This exception is raised if ``data`` is not ``bytes``.
 
     .. method:: finalize()