context.pushEffectUpperBound(expression.location, Types.PROC);
expression = expression.checkType(context, type);
context.popEffectUpperBound();
for(EAmbiguous overloaded : context.overloadedExpressions)
context.pushEffectUpperBound(expression.location, Types.PROC);
expression = expression.checkType(context, type);
context.popEffectUpperBound();
for(EAmbiguous overloaded : context.overloadedExpressions)