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