public Schema Update(SchemaProperties newProperties) { newProperties ??= new SchemaProperties(); if (properties.Equals(newProperties)) { return(this); } return(Clone(clone => { clone.properties = newProperties; clone.Properties.Freeze(); })); }