expand these comments a bit
diff --git a/src/crypto/pkcs12.c b/src/crypto/pkcs12.c
index 8b6d855..7bbdb07 100644
--- a/src/crypto/pkcs12.c
+++ b/src/crypto/pkcs12.c
@@ -420,8 +420,7 @@
 @returns: The PKCS12 object\n\
 ";
 static PyObject *
-crypto_PKCS12_new(PyTypeObject *subtype, PyObject *args, PyObject *kwargs)
-{
+crypto_PKCS12_new(PyTypeObject *subtype, PyObject *args, PyObject *kwargs) {
     if (!PyArg_ParseTuple(args, ":PKCS12")) {
         return NULL;
     }
diff --git a/src/crypto/pkcs12.h b/src/crypto/pkcs12.h
index 9be80bb..3abfa52 100644
--- a/src/crypto/pkcs12.h
+++ b/src/crypto/pkcs12.h
@@ -22,10 +22,15 @@
 
 typedef struct {
     PyObject_HEAD
-    PyObject            *cert;  /* never NULL */
-    PyObject            *key;   /* never NULL */
-    PyObject            *cacerts; /* never NULL */
-    PyObject            *friendlyname; /* never NULL */
+    /*
+     * These either refer to a PyObject* of the appropriate type, or Py_None if
+     * they don't have a value.  They aren't set to NULL except during
+     * finalization.
+     */
+    PyObject            *cert;
+    PyObject            *key;
+    PyObject            *cacerts;
+    PyObject            *friendlyname;
 } crypto_PKCS12Obj;
 
 crypto_PKCS12Obj *