// ets_tracing: off import type { Associative } from "./makeAssociative.js" import { makeAssociative } from "./makeAssociative.js" /** * Boolean `Associative` under conjunction */ export const all: Associative = makeAssociative((x, y) => x && y) /** * Boolean `Associative` under disjunction */ export const any: Associative = makeAssociative((x, y) => x || y) /** * Number `Associative` under addition */ export const sum: Associative = makeAssociative((x, y) => x + y) /** * Number `Associative` under multiplication */ export const product: Associative = makeAssociative((x, y) => x * y) /** * String `Associative` under concatenation */ export const string: Associative = makeAssociative((x, y) => x + y) /** * Void `Associative` */ const void_: Associative = makeAssociative(() => undefined as void) export * from "./definition.js" export { void_ as void }