This is an inconsistency in our iterator checking; with no contextual type, the hard-coded TNext default is `unknown`; with a defective, `next`-free contextual type, the hard-coded default is `any` instead.
We should maybe consider fixing this, but only if it doesn't break anybody, or if anybody thinks the current state is bad enough.
In any case, I think this change is fine to ship as-is.