union, foldrWithKey, Monoid instance