Wait wait wait wait...

Extra argument should not stand in the way of the normal sequential argument which is `links`.   I suggest to get `"scheme"` from `kwargs`, which means, make it not constructible without being named.