struct
type t = {name: string; version: string option}
let create ?version name = {name; version}
let to_opam_name {name; version} =
sprintf "%s.%s" name (Option.value ~default:"NOVERSION" version)
let to_string = to_opam_name
let to_directory_name = to_opam_name
let get_version t = t.version
let get_name t = t.name
end