One strategy might be:
```
defxy = ["First" => (0,1), "Last" => (2,3)]

function testfun(name; x = defxy[name][1], y = defxy[name][2])
    @show x
    @show y
end
```
But that's pretty inefficient. You could also set the parameter values to a sentinel (e.g., `NaN`) in the kw arguments, and then if they're still `NaN` fill them in from the output of `colormaps_sequential[cname]`.

On balance your approach seems fine. Merging!