/** * @tsplus type Predicate */ export interface Predicate { (a: A): boolean } /** * Inverts a boolean predicate */ export function not(predicate: Predicate): Predicate { return (a) => !predicate(a) }