@garethheyes [question] (https://twitter.com/garethheyes/status/248797836307734528)
let call = Function.prototype.call
f.call(alpha,arg) ->
f[[Call]](alpha,arg) ->
Execute f[[Code]] with *ThisValue* = alpha and *arguments* = [arg]
f.call.call(f,arg) ->
call[[Call]](f,arg) ->
Execute call[[Code]] with *ThisValue* = f and *arguments* = [arg] ->
f[[Call]](arg) ->
Execute f[[Code]] with *ThisValue* = arg and *arguments* = [] ->
*x* is undefined and *this* == arg
Function.prototype.call.call(function(x){alert(this+','+x);},1) // 1,undefined