Substantiative changes below, introducing the context stack, which may be a hare-brained idea waiting to be refuted. It doesn’t break anything, but may be unnecessary unless I can contrive a case that it actually fixes. I’m running on intuition here.