Any thoughts on if it is better for SemVer to represent both a version description and a version comparison?  A different approach could be to have `Semver` and `SemVerComparison extends SemVer`, though I'm not sure if that's just overthinking.