For rationale, see #6787 Extensions migrated in part 3: * ftp * gmp * iconv * opcache * shmop
`func_get_args()` may return `zend_empty_array`, which has refcount 2 to enforce separation. We have to cater to that during type inference so that the optimization in the JIT macro `SEPARATE_ARRAY` doesn't prevent the separation.