`sig val repo : OpamTypes.repository val packages : OpamPackage.Set.t val compilers : OpamCompiler.Set.t type 'a action = [ `Keep | `Remove | `Update of 'a ] val iter_packages_gen : ?quiet:bool -> (OpamPackage.t -> prefix:string option -> opam:OpamFile.OPAM.t -> descr:OpamFile.Descr.t option -> url:OpamFile.URL.t option -> dot_install:OpamFile.Dot_install.t option -> OpamFile.OPAM.t * OpamFile.Descr.t Opam_admin_top.action * OpamFile.URL.t Opam_admin_top.action * OpamFile.Dot_install.t Opam_admin_top.action) -> unit val filter_packages : string list -> OpamPackage.t -> bool val iter_packages : ?quiet:bool -> ?filter:(OpamPackage.t -> bool) -> ?f:(OpamPackage.t -> string option -> OpamFile.OPAM.t -> unit) -> ?opam:(OpamPackage.t -> OpamFile.OPAM.t -> OpamFile.OPAM.t) -> ?descr:(OpamPackage.t -> OpamFile.Descr.t -> OpamFile.Descr.t) -> ?url:(OpamPackage.t -> OpamFile.URL.t -> OpamFile.URL.t) -> ?dot_install:(OpamPackage.t -> OpamFile.Dot_install.t -> OpamFile.Dot_install.t) -> unit -> unit val iter_compilers_gen : ?quiet:bool -> (OpamCompiler.t -> prefix:string option -> comp:OpamFile.Comp.t -> descr:OpamFile.Descr.t option -> OpamFile.Comp.t * OpamFile.Descr.t Opam_admin_top.action) -> unit val filter_compilers : string list -> OpamCompiler.t -> bool val iter_compilers : ?quiet:bool -> ?filter:(OpamCompiler.t -> bool) -> ?f:(OpamCompiler.t -> string option -> OpamFile.Comp.t -> unit) -> ?comp:(OpamCompiler.t -> OpamFile.Comp.t -> OpamFile.Comp.t) -> ?descr:(OpamCompiler.t -> OpamFile.Descr.t -> OpamFile.Descr.t) -> unit -> unit end`