You have the right idea with Array.prototype.concat.call. Using Array.prototype.concatcalls will look like this:
var concat = Array.prototype.concat;
concat(concat(concat([],
[1, 2]),
[3, 4, 5]),
[6])
, Array.prototype.concat this; concat(), this undefined. call?
var call = Array.prototype.concat.call;
call(call(call([],
[1, 2]),
[3, 4, 5]),
[6])
, Function.prototype.call (Array.prototype.concat , , call Function.prototype). call this, call(), this undefined.
Function.prototype.call.bind(Array.prototype.concat)..., reduce , . , , , Array.prototype.concat, .