If the System loader were to provide a fetch header, something like:
X-System-Loader: spec-2.3.2
Say with the spec version descriptor, or at least just the custom header, then it would be possible to know that the browser supports ES6 modules and the server could deliver ES6. The polyfill would then have a different header, informing the server to deliver AMD for the same URL, resulting in a sensible backwards-compatible path to ES6 adoption.
Admittedly, this same logic could probably happen by having the polyfill provide a header and the system loader not, which is probably more sensible actually!
If the System loader were to provide a fetch header, something like:
Say with the spec version descriptor, or at least just the custom header, then it would be possible to know that the browser supports ES6 modules and the server could deliver ES6. The polyfill would then have a different header, informing the server to deliver AMD for the same URL, resulting in a sensible backwards-compatible path to ES6 adoption.