A predicate is a one-argument function that returns a boolean value.
typedef bool Predicate<E>(E argument);