We'd like to enforce the substitution invariant (Trac #11371). In a492af06 the assertion was downgraded to a warning; I'm restoring the assertion and making the calls that don't maintain the invariant as unchecked.