When a transducer is applied to a channel and an exception occurs during transformation the ex-handler will be called with
the Throwable as an argument.
Can we also send the val which caused the transformation exception to the ex-handler? When dealing with transducer errors it might be useful to have the full picture.
If that's agreeable, and the solution is a second-arity on ex-handler that takes val and throwable, and the call applied is:
(add! buf val)
(catch Throwable t
(handle buf exh t val)))))))))