pub trait VersionExt {
// Required methods
fn is_prerelease(&self) -> bool;
fn to_req(&self, op: Op) -> VersionReq;
// Provided methods
fn to_exact_req(&self) -> VersionReq { ... }
fn to_caret_req(&self) -> VersionReq { ... }
}