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?