enforce non-nullity for fields by default