* use optCoerceNilToNull and optStringOrNull where applicable* moved printing protocol to Trait* fixed printing of some objects