Field copyWith(Map<String, dynamic> data) { return Field( name: data['name'] ?? name, type: data['type'] ?? type, defaultValue: data['default'] ?? defaultValue, ); }