export type EqualOp<T> = {op?: 'equal', (a: T, b: T): boolean}
export type UnequalOp<T> = {op?: 'unequal', (a: T, b: T): boolean}