struct
  type t = {key: string ; collection: string option}
  let create ?collection key = {key; collection}

  let to_string {key; collection} =
    sprintf "{%s/%s}" Option.(value collection ~default:"") key

end