Completely agreed... I have the following (roughly) at the top of my scripts in current applications (IE is the main browser that doesn't support the features in question).
async functions and fetch...
try {
eval('(function() { async _ => _; })();');
if (typeof fetch === 'undefined') {
throw new Error('no fetch');
}
} catch (e) {
window.location.replace('/legacy.html');
}
In big enterprise companies that have a bit of age, dozens of web apps form an ecosystem which to our users are just "the system". Having tens (if not hundreds) of thousands of users switch browser based on which app the are running is not viable. For a lot of these systems its not financially viable to replace them (despite the cries of devs like myself).
With IE is not being ported to the new version of Windows and with Edge getting a legacy more, hopefully this means new apps should not need to support IE.