Map.withDefault not defaulting?

This implicit default value is used when the original map doesn’t contain a value for the key specified and a value is obtained with Map.getValue function, for example when properties are delegated to the map.

So you need to use wordCount.getValue("hi")