A boolean-valued function over a value, possibly including context information regarding that value's position in an array.
type Predicate<T> = (value: T) => boolean