code: def name(self, name: str) -> None:
      if hasattr(self, "_name"):
          msg = (
              f"Can't set attribute `name` to {repr(name)} as it is "
              f"immutable."
          )
          raise AttributeError(msg)
      if not isinstance(name, str):
          msg = (
              f"Name {repr(name)} passed to `name` was of type "
              f"{type(name)}, must be {str}."
          )
          raise TypeError(msg)
      if name in {""}:
          msg = (
              f"Name {repr(name)} is invalid, must be a nonzero length "
              f"{type(str)}."
          )
          raise ValueError(msg)
      self._name = name
  
label_desc: Use image node_id 2 for calling the _NamedMixin obj's underlying member method code with example usage: obj.name(name) without return types