Do<L, A> function
Implementation
TaskEither<L, A> Do<L, A>(DoFunction<L, A> f) =>
TaskEither(Task(() => f(_doAdapter<L>()).then(
(a) => either.right(a),
onError: (e) => either.left<L, A>(e.value),
)));