There are some functions like `from_native` in the VersionRange base class that return this exception instead of raising it. This leads to a TypeError when using it as `version in version_range.from_native(...)`, effectively attempting `__contains__` over an exception class Is this intended?