message: WIP: Maximise composition remove manual passing
diff: @@ -5,6 +5,10 @@ import { succeedNow } from "./succeedNow"
  /**
  * Recovers from all errors.
  */
  -export const catchAll = <S, R, E, A>(f: () => Effect<S, R, E, A>) => <S2, R2, E2, A2>(
  +export const catchAll = <S, R, E, E2, A>(f: (e: E2) => Effect<S, R, E, A>) => <
  + S2,
  + R2,
  + A2
  +>(
  effect: Effect<S2, R2, E2, A2>
  ) => foldM_(effect, f, (x) => succeedNow(x))
  