code: private RValue[] executeMultiReturnExpression(Expr expr, CallStack frame) {
  		switch (expr.getOpcode()) {
  		case WyilFile.EXPR_indirectinvoke:
  			return executeIndirectInvoke((Expr.IndirectInvoke) expr, frame);
  		case WyilFile.EXPR_invoke:
  			return executeInvoke((Expr.Invoke) expr, frame);
  		case WyilFile.EXPR_constant:
  		case WyilFile.EXPR_cast:
  		case WyilFile.EXPR_recordaccess:
  		case WyilFile.EXPR_recordborrow:
  		case WyilFile.DECL_lambda:
  		case WyilFile.EXPR_logicalexistential:
  		case WyilFile.EXPR_logicaluniversal:
  		default:
  			RValue val = executeExpression(ANY_T, expr, frame);
  			return new RValue[] { val };
  		}
  	}
docs: Execute an expression which has the potential to return more than one
  result. Thus the return type must accommodate this by allowing zero or
  more returned values.
  
  @param expr
  @param frame
  @return