Changed toString instance of Map.
The overload resolution was correct, it was the implementation which confused me.