1) [] 2) $arr = new IntArray(5) { private $len; $private $data; __construct($len) {$this->len = len;} } ну и там всякие методы получения / записи значения, тот же ArrayAccess...
1) [] 2) $arr = new IntArray(5) { private $len; $private $data; __construct($len) {$this->len = len;} } ну и там всякие методы получения / записи значения, тот же ArrayAccess...
а теперь опиши мне тип для списка из 5-ти элементов зарегистрированных юзеров)
ну то есть это уже про комбинаторику - тебе надо комбинировать все варианты. Можешь почитать как реализуется это все дело в каких-нибудь плюсах с темплейтами и какие там кастыли для этого всего
короч, типы это прикольно. И что бы типы были прикольными (а не как в плюсах и джаве) хотелось бы что бы эти типы за тебя компилятор выводил. А для этого уже там все эти имутабельности и лэйзи вычисления и прочее и прочее