bot_choice.Option is derived by subclasses which sometimes overwrites stop properties and gives always False for example.
But specialbots.EditReplacement is derived from ChoiceException and UnhandledAnswer which sets a stop attribute.
ChoiceException is derived from StandardOption and Exception.
StandardOption is derived from Option and has a stop property which has to be set by a setter property. Otherwise it will fail.
UnhandledAnswer is an Exception which also sets a stop attribute.
See https://gerrit.wikimedia.org/r/#/c/pywikibot/core/+/321576/
Sample:
>>> import pwb, pywikibot as py
>>> from pywikibot.specialbots import EditReplacement
>>> raise EditReplacement
Traceback (most recent call last):
File "pywikibot\specialbots.py", line 495, in __init__
self.stop = True
AttributeError: can't set attribute
>>>