deconstruct Function.prototype.call.call.bind() functionality