Fixed syntax incompatible with PHP 5.3
Added subscription genericization, many genericization improvements