adjust the `reduce` functions
adjust the `reduce` functions

- combining closures are now non-throwing, for simplicity
  (and tractability)

glessard/deferred,glessard/async-deferred,glessard/swiftian-dispatch,glessard/deferred