TaskClass.match<T, E, A, B>(task: TaskClass<T, E>,handlers: { ok: (value: T) => A | PromiseLike<A>; err: (error: E) => B | PromiseLike<B>; }): TaskClass<A | B, never>
Data-first twin of TaskClass#match — both declared branches, bugs keep flying.
await Task.match(Task(() => 2), { ok: (n) => n * 21, err: () => 0 }); // 42