A method on the schema called `withAdditional()` returns a cloned version of the schema with some extra properties. What if someone needs to have a clone **without** some properties? Do you think it makes sense?