Delphinum, а есть где на русском почитать про твой вариант? принцип вроде понятен, реализация не очень ясна.
кстати,
function foo( array $arg){} пропустит только массив, иначе критическая ошибка, это без всяких вмешательств.
но ошибка это вообще ни к чему((