Set needsNullCheck to true for the time being, as having it only for primitives and enums causes a lot of null pointer exceptions in types that are not null tolerant. Works around / breaks changes in issue #163. Will try to figure out something smart to do, just not sure of what yet.