import { combine, element } from "./constructors"; import type { FreeMonoid } from "./model"; export const append_ = (fs: FreeMonoid, a: A): FreeMonoid => combine(fs, element(a)); export const append = (a: A) => (fs: FreeMonoid): FreeMonoid => append_(fs, a); export const prepend_ = (fs: FreeMonoid, a: A): FreeMonoid => combine(element(a), fs); export const prepend = (a: A) => (fs: FreeMonoid): FreeMonoid => prepend_(fs, a);