Deconstructing Type Parameters - The Go Programming Language
Why the function signatures in the slices packages are so complicated.