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