code: def mapped_repr_stripping_underscores(
          obj: Any, attrnames: List[str],
          with_addr: bool = False, joiner: str = COMMA_SPACE) -> str:
      
      attributes = []
      for attr_name in attrnames:
          if attr_name.startswith('_'):
              init_param_name = attr_name[1:]
          else:
              init_param_name = attr_name
          attributes.append((attr_name, init_param_name))
      return mapped_repr(obj, attributes, with_addr=with_addr, joiner=joiner)
docs: Convenience function for :func:`__repr__`.
      Here, you pass a list of internal attributes, and it assumes that the
      :func:`__init__` parameter names have the leading underscore dropped.
  
      Args:
          obj: object to display
          attrnames: list of attribute names
          with_addr: include the memory address of ``obj``
          joiner: string with which to join the elements
  
      Returns:
          string: :func:`repr`-style representation