Should we "refactor" this part: "What exactly "not accepting" means is left to the implementation but should include behavior that makes the user aware of the usage error (e.g. by logging, throwing an exception or similar)." into a general recommendation as to what should be done for spec violations?