public static Cons percolateOutVrletExpression(Cons statement, Cons vrexpression, StandardObject type, Object [] MV_returnarray) {
    { Stella_Object laststatement = null;
      Cons cursor = vrexpression.rest.rest;

      loop000 : while (!(cursor == Stella.NIL)) {
        if (cursor.rest == Stella.NIL) {
          laststatement = cursor.value;
          cursor.value = Stella.KWD_PLACE_WHERE_LAST_EXPRESSION_WAS;
          break loop000;
        }
        cursor = cursor.rest;
      }
      Stella_Object.substituteOnce(statement, laststatement, vrexpression);
      Stella_Object.substituteOnce(vrexpression, statement, Stella.KWD_PLACE_WHERE_LAST_EXPRESSION_WAS);
      { Cons _return_temp = vrexpression;

        MV_returnarray[0] = type;
        return (_return_temp);
      }
    }
  }