The type of the set's values.
The type returned by projection.
projection
The value to validate.
The function mapping each value to the value that is used for the uniqueness check.
The type of the set's values.