public function getTemplateParameterTypeList() : array { if ($this->isEmpty()) { return []; } return array_reduce($this->getTypeSet()->toArray(), function (array $map, Type $type) { return array_merge($type->getTemplateParameterTypeList(), $map); }, []); }