I'm still not happy with this going in it's beyond what a detect should be doing. Only detect the spec'd API and then your polyfill will use the other methods to recreate the native API.