Do we know which situations the resulting Map
has the correct default and in which cases it has the incorrect default? In my very simple test using +
to add to a Map
the default is retained correctly.
val m1 = Map("a" -> 1).withDefaultValue(Set())
val m2 = m1 + ("b" -> 2)
m2("") // returns Set()
val m3 = Map("z"-> 3).withDefaultValue(Set())
val m4 = m3 ++ m2
m4("") // returns Set()
(m4 - "a")("") // returns Set()