/** * Extends this computation with another computation that depends on the * result of this computation by running the first computation, using its * result to generate a second computation, and running that computation. * * @tsplus static Eval.Aspects map * @tsplus pipeable Eval map */ export function map(f: (a: A) => B) { return (self: Eval): Eval => self.flatMap((a) => Eval.succeed(f(a))) }