Any property should allow being optional, which should then cause: * nullable types being used in languages that support them (e.g. Kotlin, Typescript) * columns being nullable in databases * classed like `java.util.Optional` being used where the language has no support