Due to their similar nature the different operators of these two "classes" are prone to produce very similar implementations. However, at the moment they are sufficiently different to not allow straight forward simplifications.
In this issue, some more time should be spent on whether it is feasible to reduce code duplications without creating weird interdependencies. Maybe we can determine a unified way to write mutation methods for a given matching function type or even across matching functions.
Due to their similar nature the different operators of these two "classes" are prone to produce very similar implementations. However, at the moment they are sufficiently different to not allow straight forward simplifications.
In this issue, some more time should be spent on whether it is feasible to reduce code duplications without creating weird interdependencies. Maybe we can determine a unified way to write mutation methods for a given matching function type or even across matching functions.