A better way of merging default arguments that ensures new settings end up there if they need to