Monkey-patching is not in itself a problem though since it just overrides the built-in functionality. The problem in shooshgate was (if I understand correctly) specifically monkey-pathing Array and relying on the added property to be enumerable. This meant JavaScript could not introduce a non-enumerable property with the same name without breaking code.
While monkey patching in general is problematic, monkey-patching Array or Object is much worse than monkey-patching Window.
While monkey patching in general is problematic, monkey-patching Array or Object is much worse than monkey-patching Window.