You can leave the inner type out...
You definitely need to specify the type for an interface, but that makes sense.
The facts are that map literals did change a bit in Go 1.5 (i.e. fairly recently), full literal specification for values could already be elided back then - it was KEYS that required full specification: https://golang.org/doc/go1.5#map_literals
If you go way more back, Go 1 also saved some typing on values, in case they were pointers: https://golang.org/doc/go1#literals