Currently __reduce__ returns up to five things:
(1) self.__new__ (or a substitute)
(4) an iterator of values for appending to a sequence
(5) an iterator of key-value pairs for setting on a string.
(1) a tuple of positional arguments for
__new__(2) a dict of keyword arguments for
__new__
Therefore, I am proposing that __reduce__ return somehow these keyword arguments for __new__.
Best,
Neil