Why Does Option.orElse Only Accept Lazy Arguments?

Hello, any reason why Option.orElse (and same family) only accept a LazyArg<A> and not an overload with A ? For example:
const foo: Option.Option<string> = fn1();
const bar: Option.Option<string> = fn2();

return Option.orElse(foo, () => bar)
//                         ^ annoying
Was this page helpful?