Pre-type/class unification Pythons are old

Old enough that their artifacts in PyOpenSSL can be shipped off to a
table somewhere...
diff --git a/doc/api/crypto.rst b/doc/api/crypto.rst
index 5637ea3..028ddd8 100644
--- a/doc/api/crypto.rst
+++ b/doc/api/crypto.rst
@@ -7,21 +7,11 @@
    :synopsis: Generic cryptographic module
 
 
-.. py:data:: X509Type
-
-    See :py:class:`X509`.
-
-
 .. py:class:: X509()
 
     A class representing X.509 certificates.
 
 
-.. py:data:: X509NameType
-
-    See :py:class:`X509Name`.
-
-
 .. py:class:: X509Name(x509name)
 
     A class representing X.509 Distinguished Names.
@@ -30,41 +20,10 @@
     instance of :py:class:`X509Name`.
 
 
-.. py:data:: X509ReqType
-
-    See :py:class:`X509Req`.
-
-
 .. py:class:: X509Req()
 
     A class representing X.509 certificate requests.
 
-
-.. py:data:: PKeyType
-
-    See :py:class:`PKey`.
-
-
-.. py:class:: PKey()
-
-    A class representing DSA or RSA keys.
-
-
-.. py:data:: PKCS7Type
-
-    A Python type object representing the PKCS7 object type.
-
-
-.. py:data:: PKCS12Type
-
-    A Python type object representing the PKCS12 object type.
-
-
-.. py:data:: X509ExtensionType
-
-    See :py:class:`X509Extension`.
-
-
 .. py:class:: X509Extension(typename, critical, value[, subject][, issuer])
 
     A class representing an X.509 v3 certificate extensions.  See
@@ -73,11 +32,6 @@
     *issuer* must be X509 objects.
 
 
-.. py:data:: NetscapeSPKIType
-
-    See :py:class:`NetscapeSPKI`.
-
-
 .. py:class:: NetscapeSPKI([enc])
 
     A class representing Netscape SPKI objects.
@@ -771,3 +725,37 @@
 .. py:method:: Revoked.set_serial(serial)
 
     *serial* is a string containing a hex number of the serial of the revoked certificate.
+
+Backwards compatible type names
+-------------------------------
+
+When PyOpenSSL was originally written, the most current version of
+Python was 2.1. It made a distinction between classes and types. None
+of the versions of Python currently supported by PyOpenSSL still
+enforce that distinction: the type of an instance of an
+:py:class:`X509` object is now simply :py:class:`X509`. Originally,
+the type would have been :py:class:`X509Type`. These days,
+:py:class:`X509Type` and :py:class:`X509` are literally the same
+object. PyOpenSSL maintains these old names for backwards
+compatibility.
+
+Here's a table of these backwards-compatible names:
+
+=========================  =============================
+Type name                  Backwards-compatible name
+=========================  =============================
+:py:class:`X509`           :py:class:`X509Type`
+:py:class:`X509Name`       :py:class:`X509NameType`
+:py:class:`X509Req`        :py:class:`X509ReqType`
+:py:class:`X509Store`      :py:class:`X509StoreType`
+:py:class:`X509Extension`  :py:class:`X509ExtensionType`
+:py:class:`PKey`           :py:class:`PKeyType`
+:py:class:`PKCS7`          :py:class:`PKCS7Type`
+:py:class:`PKCS12`         :py:class:`PKCS12Type`
+:py:class:`NetscapeSPKI`   :py:class:`NetscapeSPKIType`
+:py:class:`CRL`            :py:class:`CRLType`
+=========================  =============================
+
+Soem objects, such as py:class`Revoked`, don't have ``Type``
+equivalents, because they were added after the restriction had been
+lifted.