Instantiation is the compile-time act of supplying concrete type arguments to a generic function or type. It preserves type safety in the language and avoids runtime overhead. section 2.9.1
func foo[T any](t T) { #1
// ...
}
The generic function declares a type parameter; calling it with a concrete type argument instantiates that function. section 2.9.1
Explicit instantiation with getKeys
A generic map helper can accept a concrete type argument explicitly: keys := getKeys[string](m). The selected key type must satisfy the function's constraint; an unconstrained slice type cannot be used as a map key. section 2.9.1 section 2.9.1
