export const tapChain = <E, S, S2>(
  fn: (result: S) => Task<E, S2>,
  task: Task<E, S>,
): Task<E, S> => chain(result => fn(result).forward(result), task)