# Buggy code
def __init__(
    self,
    reddit: "Reddit",
    subreddit: "Subreddit",
    id: Optional[str] = None,  # pylint: disable=redefined-builtin
    reason_id: Optional[str] = None,
    _data: Optional[Dict[str, Any]] = None,
):
    """Construct an instance of the Removal Reason object.

    :param reddit: An instance of :class:`.Reddit`.
    :param subreddit: An instance of :class:`.Subreddit`.
    :param id: The id of the removal reason.
    :param reason_id: (Deprecated) The original name of the ``id`` parameter. Used
        for backwards compatibility. This parameter should not be used.

    """
    id = self._warn_reason_id(reason_id, id)
    if (id, _data).count(None) != 1:
        raise ValueError("Either id or _data needs to be given.")

    self.id = id
    self.subreddit = subreddit
    super().__init__(reddit, _data=_data)


# Traceback (RecursionError)
Traceback (most recent call last):
  File "C:\00. Datos\90. Descargas\claimdoneremover-master (1)\claimdoneremover-master\cdremover\main.py", line 49, in <module>
    for comment in reddit.redditor(user).comments.new(limit=limit):
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\util\cache.py", line 39, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\listing\mixins\redditor.py", line 47, in comments
    return SubListing(self._reddit, self._path, "comments")
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 122, in _path
    return API_PATH["user"].format(user=self)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\base.py", line 61, in __str__
    return getattr(self, self.STR_FIELD)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\base.py", line 34, in __getattr__
    self._fetch()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 171, in _fetch
    data = self._fetch_data()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 166, in _fetch_data
    name, fields, params = self._fetch_info()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 163, in _fetch_info
    return ("user_about", {"user": self.name}, None)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\base.py", line 34, in __getattr__
    self._fetch()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 171, in _fetch
    data = self._fetch_data()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 166, in _fetch_data
    name, fields, params = self._fetch_info()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 163, in _fetch_info
    return ("user_about", {"user": self.name}, None)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\base.py", line 34, in __getattr__
    self._fetch()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 171, in _fetch
    data = self._fetch_data()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 166, in _fetch_data
    name, fields, params = self._fetch_info()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 163, in _fetch_info
    return ("user_about", {"user": self.name}, None)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\base.py", line 34, in __getattr__
    self._fetch()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 171, in _fetch
    data = self._fetch_data()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 166, in _fetch_data
    name, fields, params = self._fetch_info()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 163, in _fetch_info
    return ("user_about", {"user": self.name}, None)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\base.py", line 34, in __getattr__
    self._fetch()

...

  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 171, in _fetch
    data = self._fetch_data()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 166, in _fetch_data
    name, fields, params = self._fetch_info()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 163, in _fetch_info
    return ("user_about", {"user": self.name}, None)
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\base.py", line 34, in __getattr__
    self._fetch()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 171, in _fetch
    data = self._fetch_data()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 166, in _fetch_data
    name, fields, params = self._fetch_info()
  File "C:\Users\Andres\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\redditor.py", line 161, in _fetch_info
    if hasattr(self, "_fullname"):
RecursionError: maximum recursion depth exceeded while calling a Python object

# Fixed code
def __init__(
    self,
    reddit: "Reddit",
    subreddit: "Subreddit",
    id: Optional[str] = None,  # pylint: disable=redefined-builtin
    reason_id: Optional[str] = None,
    _data: Optional[Dict[str, Any]] = None,
):
    """Construct an instance of the Removal Reason object.

    :param reddit: An instance of :class:`.Reddit`.
    :param subreddit: An instance of :class:`.Subreddit`.
    :param id: The id of the removal reason.
    :param reason_id: (Deprecated) The original name of the ``id`` parameter. Used
        for backwards compatibility. This parameter should not be used.

    """
    id = self._warn_reason_id(reason_id, id)
    if (id, _data).count(None) != 1:
        raise ValueError("Either id or _data needs to be given.")

    if id:
        self.id = id
    self.subreddit = subreddit
    super().__init__(reddit, _data=_data)