This is rather surprising:
> fromListWith (++) [(False,"x"),(False,"y")]
fromList [(False,"yx")]
"Intuitively", the value in the result should be "xy".
Note that the versions of fromListWith[Key] in Data.Map and Data.IntMap from containers have the same issue.