Monomorphization is one of the ways generics are implemented in other languages and it definitely allows for type-specific optimizations.
I imagine there's a rationale for not implementing generics this way, like keeping binaries small, but it seems like a weird tradeoff considering it increases overall memory consumption and decreases performance quite a lot...