public function asGenericArrayType() : Type { if ($this->getName() == 'array' || $this->getName() == 'mixed' || strpos($this->getName(), '[]') !== false) { return ArrayType::instance(); } return GenericArrayType::fromElementType($this); }