* @param outvalue
   * @return Cons
   */
  public Cons substitute(Stella_Object invalue, Stella_Object outvalue) {
    { Cons self = this;

      { Cons cursor = self;

        while (!(cursor == Stella.NIL)) {
          if (Stella_Object.eqlP(cursor.value, outvalue)) {
            cursor.value = invalue;
          }
          cursor = cursor.rest;
        }
        return (self);
      }
    }
  }