public static Stella_Object eliminateLoomKeywords(Stella_Object tree) {
    { Surrogate testValue000 = Stella_Object.safePrimaryType(tree);

      if (Surrogate.subtypeOfKeywordP(testValue000)) {
        { Keyword tree000 = ((Keyword)(tree));

          return (Symbol.internSymbolInModule(tree000.symbolName, Logic.$LOGIC_MODULE$, false));
        }
      }
      else if (Surrogate.subtypeOfSymbolP(testValue000)) {
        { Symbol tree000 = ((Symbol)(tree));

          if ((tree000 == Logic.SYM_LOGIC_SUPERRELATIONS) ||
              (tree000 == Logic.SYM_LOGIC_SUPERCONCEPTS)) {
            return (Logic.SYM_PL_KERNEL_KB_SUBSET_OF);
          }
          else {
          }
          if (Stella.stringEqlP(tree000.symbolName, "/=")) {
            return (Logic.SYM_LOGIC_lg);
          }
        }
      }
      else if (testValue000 == Logic.SGT_STELLA_CONS) {
        { Cons tree000 = ((Cons)(tree));

          { ConsIterator it = tree000.allocateIterator();

            while (it.nextP()) {
              it.valueSetter(Logic.eliminateLoomKeywords(it.value));
            }
          }
          if ((tree000.value == null) ||
              (!Stella_Object.symbolP(tree000.value))) {
            return (tree000);
          }
          { Symbol operator = ((Symbol)(tree000.value));

            if (operator == Logic.SYM_STELLA_QUOTE) {
              return (tree000.rest.value);
            }
            else {
            }
          }
        }
      }
      else {
      }
    }
    return (tree);
  }