@Override
protected Type check(DiagnosticPosition pos, Type found) {
if (found.hasTag(DEFERRED)) {
DeferredType dt = (DeferredType)found;
return dt.check(this);
} else {
return super.check(pos, chk.checkNonVoid(pos, types.capture(U(found.baseType()))));
}
}