public static Cons walkPrintStreamTree(Cons tree, Object [] MV_returnarray) {
    if (tree.length() <= 2) {
      { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

        try {
          Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
          Stella.signalTranslationError();
          if (!(Stella.suppressWarningsP())) {
            Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
            {
              Stella.STANDARD_ERROR.nativeStream.println();
              Stella.STANDARD_ERROR.nativeStream.println(" Missing arguments in print statement: `" + Stella_Object.deUglifyParseTree(tree) + "'.");
            }
;
          }

        } finally {
          Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
        }
      }
      return (Stella_Object.walkDontCallMeTree(tree, Stella.SGT_STELLA_VOID, MV_returnarray));
    }
    { Stella_Object operator = tree.value;
      Stella_Object streamtree = tree.rest.value;
      Stella_Object otree = null;
      StandardObject otype = null;

      if (Stella_Object.keywordP(streamtree)) {
        if (!((streamtree == Stella.KWD_WARN) ||
            ((streamtree == Stella.KWD_ERROR) ||
             (streamtree == Stella.KWD_CONTINUABLE_ERROR)))) {
          { Object old$PrintreadablyP$001 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationError();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
                {
                  Stella.STANDARD_ERROR.nativeStream.println();
                  Stella.STANDARD_ERROR.nativeStream.println(" Illegal stream argument in print statement: `" + Stella_Object.deUglifyParseTree(tree) + "'.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$001);
            }
          }
          return (Stella_Object.walkDontCallMeTree(tree, Stella.SGT_STELLA_VOID, MV_returnarray));
        }
      }
      else {
        { Object [] caller_MV_returnarray = new Object[1];

          otree = Stella_Object.walkExpressionTree(streamtree, Stella.SGT_STELLA_NATIVE_OUTPUT_STREAM, ((Symbol)(tree.value)), false, caller_MV_returnarray);
          otype = ((StandardObject)(caller_MV_returnarray[0]));
        }
        tree.firstSetter(Stella.SYM_STELLA_PRINT_NATIVE_STREAM);
        tree.secondSetter(otree);
      }
      { ConsIterator it = tree.rest.rest.allocateIterator();

        while (it.nextP()) {
          { Object [] caller_MV_returnarray = new Object[1];

            otree = Stella_Object.walkExpressionTree(it.value, Stella.SGT_STELLA_UNKNOWN, ((Symbol)(operator)), false, caller_MV_returnarray);
            otype = ((StandardObject)(caller_MV_returnarray[0]));
          }
          it.valueSetter(otree);
          if (!(otree == Stella.SYM_STELLA_EOL)) {
            { Surrogate testValue000 = Stella_Object.safePrimaryType(otree);

              if (Surrogate.subtypeOfStringP(testValue000)) {
                { StringWrapper otree000 = ((StringWrapper)(otree));

                }
              }
              else if (Surrogate.subtypeOfIntegerP(testValue000)) {
                { IntegerWrapper otree000 = ((IntegerWrapper)(otree));

                  it.valueSetter(StringWrapper.wrapString(Native.stringify(otree000)));
                }
              }
              else if (Surrogate.subtypeOfLongIntegerP(testValue000)) {
                { LongIntegerWrapper otree000 = ((LongIntegerWrapper)(otree));

                  it.valueSetter(StringWrapper.wrapString(Native.stringify(otree000)));
                }
              }
              else if (Surrogate.subtypeOfFloatP(testValue000)) {
                { FloatWrapper otree000 = ((FloatWrapper)(otree));

                  it.valueSetter(StringWrapper.wrapString(Native.stringify(otree000)));
                }
              }
              else if (Surrogate.subtypeOfCharacterP(testValue000)) {
                { CharacterWrapper otree000 = ((CharacterWrapper)(otree));

                  it.valueSetter(StringWrapper.wrapString(Native.makeString(1, otree000.wrapperValue)));
                }
              }
              else {
                it.valueSetter(Stella_Object.sysTree(otree, otype, new Object[1]));
              }
            }
          }
        }
      }
      { Cons _return_temp = tree;

        MV_returnarray[0] = Stella.SGT_STELLA_VOID;
        return (_return_temp);
      }
    }
  }