Noted that this version of the monkey patch is bi-directional

If browsers are to be free to change the API without existing code getting disrupted while also supporting new code, then the monkey patch needs to work both ways. This patch is, therefore, bidirectional.