todos
[function 'apply' method] add API for creating function arguments, use it in function calls
[function 'apply' method] support Function.apply
[function 'apply' method] add test