Function.bind, others are workarounds for browser quirks, like argument handling in
Array.sort, or negative indexes for
Getters and setters are only partially emulated in browsers where no substitute is available (eg. IE8). Here the chosen behavior is that getters and setters are accepted by
Object.defineProperty, but the getter is immediately evaluated and its result assigned to the property as value.