Walter Dörwald wrote:
If a tuple is passed and returned this makes it possible from Python code to mangle the state. IMHO this should be avoided if possible.
Not necessarily. We are all consenting adults. So if the code checks whether the state is sane, from a typing point of view, i.e. if you can't crash the interpreter, then there is no need to hide the state from the user.