import { curry } from '@typed/lambda' import { Either } from './Either' import { unpack } from './unpack' export const orElse = curry(__orElse) as { (value: A, validation: Either): A (value: A): (validation: Either) => A } function __orElse(value: A, validation: Either): A { return unpack( () => value, (b) => b, validation, ) }