Since there is no dependency on the rest of type checking, can you move this code out of `middle::typeck::check` and into `middle::vtable` to reflect that? (ideally, as a separate commit with zero side-effects, perhaps appended to this PR)