fold
import { fold } from "https://raw.githubusercontent.com/baetheus/fun/main/option.ts";
Reduce over an Option. Since an Option contains at most one value this function operates a lot like getOrElse. If the passed option is None then it returns the initial value, otherwise the foldr function is called with both the initial value and the inner A.
@example
import * as O from "./option.ts";
const fold = O.fold((n: number, m: number) => n + m, 0);
const result1 = fold(O.some(1)); // 1
const result2 = fold(O.none); // 0