further refactor bind.bind(call) by NOT using .prototype of Function