This is the best outline of the Go generics issue I've seen. As an outsider to the language (for now), thanks for writing this.
What's the current conversation on sharing binary code? Unless I'm missing something, this is fundamentally incompatible with generic functions that are optimized at compile time. Either the compiled version has to have implementations for "every valid type" or the shared code must be recompiled at the time it is consumed, right?
It looks like the Go ecosystem tends to discourage distributing precompiled binary packages, so maybe this is not a real issue.