Change combine_with so that it no longer changes self