A micro optimization of h()

In most cases, the first argument of h() will be a string.

benchmark test:
https://gist.github.com/chinpei215/d129fcc67055f8f7b52b
It actually is, I did this sort of optimizations when we were going to release 2.0. is_array showed to be more time consuming than is_string