result = org.rascalmpl.interpreter.result.ResultFactory
.makeResult(rec.getType(), node, __eval.__getEval());
} else if (rec.getType().isTuple()
&& subscript.getType().isInteger()) {
int index = ((IInteger) subscript.getValue()).intValue();
ITuple tuple = (ITuple) rec.getValue();
if (index >= tuple.arity()) {
throw org.rascalmpl.interpreter.utils.RuntimeExceptionFactory
.indexOutOfBounds((IInteger) subscript.getValue(),
__eval.__getEval().getCurrentAST(), __eval
.__getEval().getStackTrace());
}
__eval.__setValue(__eval.newResult(tuple.get(index), __eval
.__getValue()));
tuple = tuple.set(index, __eval.__getValue().getValue());
result = org.rascalmpl.interpreter.result.ResultFactory
.makeResult(rec.getType(), tuple, __eval.__getEval());
} else if (rec.getType().isRelation()
&& subscript.getType().isSubtypeOf(
rec.getType().getFieldType(0))) {