import { HKT } from "@tsplus/stdlib/prelude/HKT"; /** * `AssociativeFlatten` describes a type that can be "flattened" in an * associative way. * * For example, if we have a list of lists of lists, we can flatten it by either * flattening the two inner lists and then flattening the resulting lists, or * flattening the two outer lists and then flattening that resulting list. * Because the operation is associative, the resulting list is the same either * way. * * @tsplus type AssociativeFlatten */ export interface AssociativeFlatten extends HKT.Typeclass { readonly Law: { AssociativeFlatten: "AssociativeFlatten"; }; readonly flatten: (ffa: HKT.Kind>) => HKT.Kind; } //# sourceMappingURL=AssociativeFlatten.d.ts.map