sig
  type field =
      [ `Bin
      | `Doc
      | `Etc
      | `Lib
      | `Lib_root
      | `Libexec
      | `Libexec_root
      | `Man
      | `Misc
      | `Sbin
      | `Share
      | `Share_root
      | `Stublibs
      | `Toplevel
      | `Unknown of string ]
  type move
  val move :
    ?maybe:bool ->
    ?dst:Topkg_fpath.t -> Topkg_fpath.t -> Topkg_opam.Install.move
  type t =
      [ `Header of string option ] *
      (Topkg_opam.Install.field * Topkg_opam.Install.move) list
  val to_string : Topkg_opam.Install.t -> string
end