writableFields property
Fields client code may set on create/update. Read-time-default fields
are ordinary writable fields (the server enforces required on them);
writeOnly fields are writable even though reads redact them.
Implementation
List<GenField> get writableFields => [
for (final field in fields)
if (!serverAssignedFields.contains(field.name)) field,
];