I'm just curious,
This...
let s = { f: window.fetch };
s.f("https://www.google.com");
fails with
Failed to execute 'fetch' on 'Window': Illegal invocation
While this works...
let s = { f: window.fetch.bind(window) };
s.f("https://www.google.com");
How does the latter fix the issue? Is there any theory behind why it works that way?