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