added some utility stuff
updated test code to account for lazy evaluation of nonnull-ness