Closed real-or-random closed 17 hours ago
Okay, I reworked the entire thing and the API is totally different now from the first version. Instead of adding blame: bool
and similar parameters in the necessary locations, this now adds separate _blame
functions. In particular, there are _participant_blame
functions, which can be used after participant_step2
has failed. Fortunately, this works without the need to redo expensive computations in participant_blame
(or carry over cached values from participant_step2
to participant_blame
via the raised exception, which would be rather inelegant). I think this is much better:
Optional
, which are difficult in static typing._blame
functions.Still to do:
Please let me know if this API looks good, then we merge this and I can work on follow-up PRs.
Solves partly #37, namely the actual implementation of the idea.
Draft because there are some minor cleanups left, see added FIXMEs.