It'd be nice if we could support method overloading on generic types, but overloading only works on concrete types. I ran into this when I was implementing the new serialization library. Here's a reduced example: https://gist.github.com/3801125. Without generic method overloading, I cannot generically use two different serializers in the same function.