/** * @see Mutator */ export type Mapper = (input: In) => Out export type MapperP = (input: In) => Promise export type MapperV = (obj: In, ...args: Args) => Out export type MapperVP = (obj: In, ...args: Args) => Promise export type MapperTwo = (a: InA, b: InB) => Out export type MapperTwoP = (a: InA, b: InB) => Promise export type MapperTwoSym = MapperTwo export type MapperTwoSymP = MapperTwoP export type Predicate = Mapper export type PredicateP = MapperP export type Relation = MapperTwoSym export type RelationP = MapperTwoSymP