I find it limiting that
-blocking) accepts an exception only, but not the value for which that exception occurred. Another arity
(fn [ex v]) would be useful for use cases such as retrying, better error reporting etc. I guess it could be supported in a backward-compatible way via reflection arity checking (e.g. https://stackoverflow.com/a/1813967).