// ets_tracing: off import * as T from "@effect-ts/system/Effect" import * as L from "@effect-ts/system/Layer" import type { LayerURI } from "../../Modules/index.js" import type { URI } from "../../Prelude/index.js" import * as P from "../../Prelude/index.js" export type V = P.V<"R", "-"> & P.V<"E", "+"> export const AssociativeBoth = P.instance], V>>({ both: L.zip }) export const Any = P.instance], V>>({ any: () => L.fromRawEffect(T.succeed({})) }) export const Covariant = P.instance], V>>({ map: L.map }) export const IdentityBoth = P.instance], V>>({ ...Any, ...AssociativeBoth }) export const Applicative = P.instance], V>>({ ...Covariant, ...IdentityBoth }) export const AssociativeFlatten = P.instance], V>>({ flatten: L.flatten }) export const IdentityFlatten = P.instance], V>>({ ...Any, ...AssociativeFlatten }) export const Monad = P.instance], V>>({ ...Covariant, ...IdentityFlatten })