Earlier quoted context omitted.
If your `Comparer` is an element type (as opposed to Go's `sort.Interface` abstraction over collections), this is going to be horribly unperformant. Suppose your `Foo` type implements `Comparer`, and you have a large `[]Foo`. Then you'll first have to iterate over each element in `[]Foo` and add it to your `[]Comparer`, probably with an allocation per element. Then each invocation of `foo.Compare()` is going to be in…
I don't see any reason why the interface lookup couldn't be done at compile time in this instance.
Again, I don't necessarily agree with the Go team; I'm just guessing the are some of the concerns they're weighing.