copyWith method
Returns a new copy of the BaseModel with the fields updated from the
other BaseModel. If merge is true, the fields are merged, otherwise
they are replaced.
Implementation
@override
Model copyWith(BaseModel? other, {bool merge = false}) {
final a = this.toJson();
final b = other?.toJson() ?? {};
final data = merge ? mergeDataDeep(a, b) : {...a, ...b};
return Model(data);
}