Well just document what the contract should be for new impls, and note how it is violated for the legacy impl and why.