public static Cons walkSysCallTree(Cons tree, Object [] MV_returnarray) {
    { Slot slot = Cons.slotFromExpressionTree(tree);
      StandardObject slottype = Stella.SGT_STELLA_UNKNOWN;

      if (slot != null) {
        slottype = ((CompoundTypeSpecifier)(KeyValueList.dynamicSlotValue(slot.dynamicSlots, Stella.SYM_STELLA_SLOT_TYPE_SPECIFIER, null)));
        { boolean testValue000 = false;

          testValue000 = slottype != null;
          if (testValue000) {
            if (Stella_Object.anchoredTypeSpecifierP(slottype)) {
              testValue000 = true;
            }
            else {
              { boolean foundP000 = false;

                { StandardObject ts = null;
                  Cons iter000 = ((ParametricTypeSpecifier)(slottype)).specifierParameterTypes.theConsList;

                  loop000 : for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
                    ts = ((StandardObject)(iter000.value));
                    if (Stella_Object.anchoredTypeSpecifierP(ts)) {
                      foundP000 = true;
                      break loop000;
                    }
                  }
                }
                testValue000 = foundP000;
              }
            }
          }
          if (testValue000) {
            { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

              stream000.nativeStream.print("walk-sys-call-tree: OOPS, can't handle anchored slot types: `" + tree + "'");
              throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
            }
          }
        }
        if (!(slottype != null)) {
          slottype = slot.type();
        }
      }
      { Cons _return_temp = tree;

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