I see. One could achieve it to have custom providers taking precedence by introducing another interface for built-in providers and doing two separate service loader lookups, but that would reduce the overall uniformity I had in mind when bringing it up, so I guess it's not worth it.