sig   type t = OpamTypes.dirname   val root : unit -> OpamPath.t   val state_cache : OpamPath.t -> OpamTypes.filename   val update_cache : OpamPath.t -> OpamTypes.filename   val lock : OpamPath.t -> OpamTypes.filename   val config : OpamPath.t -> OpamTypes.filename   val aliases : OpamPath.t -> OpamTypes.filename   val packages_dir : OpamPath.t -> OpamTypes.dirname   val packages : OpamPath.t -> OpamTypes.package -> OpamTypes.dirname   val opam : OpamPath.t -> OpamTypes.package -> OpamTypes.filename   val url : OpamPath.t -> OpamTypes.package -> OpamTypes.filename   val files : OpamPath.t -> OpamTypes.package -> OpamTypes.dirname   val dev_packages_dir : OpamPath.t -> OpamTypes.dirname   val dev_package : OpamPath.t -> OpamTypes.package -> OpamTypes.dirname   val descr : OpamPath.t -> OpamTypes.package -> OpamTypes.filename   val archives_dir : OpamPath.t -> OpamTypes.dirname   val archive : OpamPath.t -> OpamTypes.package -> OpamTypes.filename   val compiler_comp : OpamPath.t -> OpamTypes.compiler -> OpamTypes.filename   val compiler_descr : OpamPath.t -> OpamTypes.compiler -> OpamTypes.filename   val compilers_dir : OpamPath.t -> OpamTypes.dirname   val compilers : OpamPath.t -> OpamTypes.compiler -> OpamTypes.dirname   val package_index : OpamPath.t -> OpamTypes.filename   val compiler_index : OpamPath.t -> OpamTypes.filename   val init : OpamPath.t -> OpamTypes.dirname   val log : OpamPath.t -> OpamTypes.dirname   val backup_dir : OpamPath.t -> OpamTypes.dirname   val backup : OpamPath.t -> OpamTypes.filename   module Switch :     sig       val root : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val lock : OpamPath.t -> OpamTypes.switch -> OpamTypes.filename       val backup_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val backup : OpamPath.t -> OpamTypes.switch -> OpamTypes.filename       val lib :         OpamPath.t -> OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname       val lib_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val stublibs : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val toplevel : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val doc :         OpamPath.t -> OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname       val doc_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val share_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val share :         OpamPath.t -> OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname       val etc_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val etc :         OpamPath.t -> OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname       val man_dir :         ?num:string -> OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val bin : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val sbin : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val installed : OpamPath.t -> OpamTypes.switch -> OpamTypes.filename       val installed_roots :         OpamPath.t -> OpamTypes.switch -> OpamTypes.filename       val build :         OpamPath.t ->         OpamTypes.switch -> OpamTypes.package -> OpamTypes.dirname       val build_ocaml : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val build_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val build_install :         OpamPath.t ->         OpamTypes.switch -> OpamTypes.package -> OpamTypes.filename       val build_config :         OpamPath.t ->         OpamTypes.switch -> OpamTypes.package -> OpamTypes.filename       val install :         OpamPath.t ->         OpamTypes.switch -> OpamTypes.name -> OpamTypes.filename       val install_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val reinstall : OpamPath.t -> OpamTypes.switch -> OpamTypes.filename       val config :         OpamPath.t ->         OpamTypes.switch -> OpamTypes.name -> OpamTypes.filename       val config_dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val global_config :         OpamPath.t -> OpamTypes.switch -> OpamTypes.filename       val pinned : OpamPath.t -> OpamTypes.switch -> OpamTypes.filename       val dev_packages_dir :         OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname       val dev_package :         OpamPath.t -> OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname       module Overlay :         sig           val dir : OpamPath.t -> OpamTypes.switch -> OpamTypes.dirname           val package :             OpamPath.t ->             OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname           val opam :             OpamPath.t ->             OpamTypes.switch -> OpamTypes.name -> OpamTypes.filename           val tmp_opam :             OpamPath.t ->             OpamTypes.switch -> OpamTypes.name -> OpamTypes.filename           val url :             OpamPath.t ->             OpamTypes.switch -> OpamTypes.name -> OpamTypes.filename           val descr :             OpamPath.t ->             OpamTypes.switch -> OpamTypes.name -> OpamTypes.filename           val files :             OpamPath.t ->             OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname         end     end   module Repository :     sig       val create :         OpamPath.t -> OpamTypes.repository_name -> OpamTypes.dirname       val update_cache : OpamTypes.repository -> OpamTypes.filename       val repo : OpamTypes.repository -> OpamTypes.filename       val remote_repo : OpamTypes.repository -> OpamTypes.filename       val raw_config :         OpamTypes.dirname -> OpamTypes.repository_name -> OpamTypes.filename       val config : OpamTypes.repository -> OpamTypes.filename       val packages_dir : OpamTypes.repository -> OpamTypes.dirname       val remote_packages_dir : OpamTypes.repository -> OpamTypes.dirname       val packages :         OpamTypes.repository ->         string option -> OpamTypes.package -> OpamTypes.dirname       val opam :         OpamTypes.repository ->         string option -> OpamTypes.package -> OpamTypes.filename       val descr :         OpamTypes.repository ->         string option -> OpamTypes.package -> OpamTypes.filename       val url :         OpamTypes.repository ->         string option -> OpamTypes.package -> OpamTypes.filename       val files :         OpamTypes.repository ->         string option -> OpamTypes.package -> OpamTypes.dirname       val archive :         OpamTypes.repository -> OpamTypes.package -> OpamTypes.filename       val remote_archive :         OpamTypes.repository -> OpamTypes.package -> OpamTypes.filename       val archives_dir : OpamTypes.repository -> OpamTypes.dirname       val upload_dir : OpamTypes.repository -> OpamTypes.dirname       val compilers_dir : OpamTypes.repository -> OpamTypes.dirname       val compiler_comp :         OpamTypes.repository ->         string option -> OpamTypes.compiler -> OpamTypes.filename       val compiler_descr :         OpamTypes.repository ->         string option -> OpamTypes.compiler -> OpamTypes.filename       val remote_compilers_dir : OpamTypes.repository -> OpamTypes.dirname     end end