sig
  module Sync : sig  end
  module Install :
    sig
      type move
      val move :
        ?maybe:bool ->
        ?dst:Assemblage.Path.t ->
        Assemblage.Path.t -> Assemblage_tools.Opam.Install.move
      type field_elt =
          [ `Bin of Assemblage_tools.Opam.Install.move
          | `Doc of Assemblage_tools.Opam.Install.move
          | `Etc of Assemblage_tools.Opam.Install.move
          | `Lib of Assemblage_tools.Opam.Install.move
          | `Man of Assemblage_tools.Opam.Install.move
          | `Misc of Assemblage_tools.Opam.Install.move
          | `Sbin of Assemblage_tools.Opam.Install.move
          | `Share of Assemblage_tools.Opam.Install.move
          | `Share_root of Assemblage_tools.Opam.Install.move
          | `Stublibs of Assemblage_tools.Opam.Install.move
          | `Toplevel of Assemblage_tools.Opam.Install.move ]
      type t =
          [ `Header of string option ] *
          Assemblage_tools.Opam.Install.field_elt list
      val to_string : Assemblage_tools.Opam.Install.t -> string
      val of_project :
        ?add:Assemblage_tools.Opam.Install.field_elt list ->
        Assemblage.project -> Assemblage_tools.Opam.Install.t
    end
end