generalising merges to fuse cases