It just happened to me to use `VersionInfo(3, 2, 1, 1)` which later failed due to the prerelease not being a string which the comparison assumed. I propose to **either** 1. Convert arguments in ctor of `VersionInfo` to their correct types (int/string) 2. Assert the correct type