ensugars classOf
I thought I've already seen everything in this life

Apparently I haven't :D

It turns out that Typer's context parameter is actually called `context0`,
and Typer.context is a var that, on some occasions, is mutated in-place
during typechecking.

Hence, if you extend Typer and call the constructor parameter `context`,
then you're going to shadow the var from the base class, which will sometimes
lead to super weird errors.