public static String nameObjectMetaclass(Stella_Object self) {
    { Surrogate testValue000 = Stella_Object.safePrimaryType(self);

      if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_DESCRIPTION)) {
        { Description self000 = ((Description)(self));

          if (Logic.classP(self000)) {
            return ("concept");
          }
          else if (Logic.functionP(self000)) {
            return ("function");
          }
          else {
            return ("relation");
          }
        }
      }
      else if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_LOGIC_OBJECT)) {
        { LogicObject self000 = ((LogicObject)(self));

          return ("logic object");
        }
      }
      else {
        return (Native.stringDowncase(self.primaryType().symbolName));
      }
    }
  }