protected function isValueTypeValid($value, $strict = false): bool
    {
        return parent::isValueTypeValid($value, $strict) ?: ($value instanceof self);
    }
protected function isValueTypeValid($value, $strict = false): bool
    {
        return parent::isValueTypeValid($value, $strict) ?: ($value instanceof self);
    }
protected function isValueTypeValid ( $ value , $ strict = false ) : bool { return parent :: isValueTypeValid ( $ value , $ strict ) ? : ( $ value instanceof self ) ; }
Let's allow nested collections!

@param mixed $value
@param bool $strict
@return bool
Let s allow nested collections!