case 0: // foo()
if (iter != null) return new FCallNoArgBlockNode(union(operation, args), name, args, (IterNode) iter);
return new FCallNoArgNode(union(operation, args), args, name);
case 1:
if (iter != null) return new FCallOneArgBlockNode(union(operation, args), name, args, (IterNode) iter);
return new FCallOneArgNode(union(operation, args), name, args);
case 2:
if (iter != null) return new FCallTwoArgBlockNode(union(operation, args), name, args, (IterNode) iter);