As a special case, an `enum` is eligible for the "nullable pointer optimization" if it
contains exactly two variants, one of which contains no data and the other contains
a field of one of the non-nullable types listed above (or a struct containing such a type).
-This means it is represented as a single pointer, and the non-data variant is represented as a
-null pointer. This is called an "optimization", but unlike other optimizations it is guaranteed
-to apply to eligible types.
+This means no extra space is required for a discriminant; rather, the empty variant is represented
+by putting a `null` value into the non-nullable field. This is called an "optimization", but unlike
+other optimizations it is guaranteed to apply to eligible types.
The most common type that takes advantage of the nullable pointer optimization is `Option<T>`,
where `None` corresponds to `null`. So `Option<extern "C" fn(c_int) -> c_int>` is a correct way