Open
Description
Most unpleasantly, it has a separate case for taking the union of a Leaf
with each type of (non-empty) node. Perhaps we should pull the go
function out of insertModifying
and make it provide the old key to the function as well as the old value. Then we can just have one case in unionWithKey
for a leaf as the left argument and a leaf as the right argument.