import type * as P from "@principia/prelude";
import * as HKT from "@principia/prelude/HKT";
import { identity } from "../Function";
import { Functor } from "./functor";
import type { URI, V } from "./model";
/*
* -------------------------------------------
* Alt Identity
* -------------------------------------------
*/
export const alt_: (fa: A, that: () => A) => A = identity;
export const alt = (that: () => A) => (fa: A): A => alt_(fa, that);
export const Alt: P.Alt<[URI], V> = HKT.instance({
...Functor,
alt_: alt_,
alt
});