code: def obj_name(self, obj: Union[str, Element]) -> str:
          
          if isinstance(obj, str):
              obj = self.obj_for(obj)
          if isinstance(obj, SlotDefinition):
              return underscore(self.aliased_slot_name(obj))
          else:
              return camelcase(obj if isinstance(obj, str) else obj.name)
docs: Return the formatted name used for the supplied definition