The goal of Trac #11371 is to enforce an invariant, by converting calls to
substTy. Those functions do the same thing, but the second one also checks an invariant.
This check was initially an assertion, but later was downgraded to a warning. Here, I'm restoring the assertion, and converting bad calls into
substTyUnchecked. This way, we can guard against regressions and slowly work towards removing the calls to
substTyUnchecked. I'm also adding a regression test to Trac #13951.