Use merge-with to simplify v+