[@deriving (eq, ord)] type t; let make: (~major: int, ~minor: int, ~patch: int) => t; let fromString: string => option(t); let toString: t => string; let major: t => int; let minor: t => int; let patch: t => int;