The reason that the `comparers` member exists is because it is passed to the `SemanticComparer<T>` instance.

Actually we could also refactor `Likeness<T>` to just accept a `SemanticComparer<T>`.