revert last 2 commits to remove mergeWith convenience function