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