Comparator Interface
A comparator can be used to compare two objects in order to determine their ordering.
It is a function that takes two arguments and returns a negative number if the first argument should be ordered before the second, a positive number if the second should be ordered before the first, or zero if the two arguments are equivalent.
Signature
export interface Comparator<T>