sig   module API :     sig       val init :         OpamTypes.repository ->         OpamTypes.compiler ->         jobs:int ->         OpamTypes.shell ->         OpamTypes.filename -> [ `ask | `no | `yes ] -> unit       val list :         print_short:bool ->         filter:[ `all | `installable | `installed | `roots ] ->         order:[ `depends | `normal ] ->         exact_name:bool ->         case_sensitive:bool ->         ?depends:OpamTypes.atom list ->         ?reverse_depends:bool ->         ?recursive_depends:bool ->         ?resolve_depends:bool ->         ?depopts:bool -> ?depexts:string list -> string list -> unit       val info :         fields:string list ->         raw_opam:bool -> where:bool -> OpamTypes.atom list -> unit       val install : OpamTypes.atom list -> bool option -> bool -> unit       val reinstall : OpamTypes.atom list -> unit       val update : repos_only:bool -> ?no_stats:bool -> string list -> unit       val upgrade : OpamTypes.atom list -> unit       val fixup : unit -> unit       val remove :         autoremove:bool -> force:bool -> OpamTypes.atom list -> unit       module CONFIG :         sig           val env :             csh:bool -> sexp:bool -> fish:bool -> inplace_path:bool -> unit           val setup :             OpamTypes.user_config option ->             OpamTypes.global_config option -> unit           val setup_list : OpamTypes.shell -> OpamTypes.filename -> unit           val exec : inplace_path:bool -> string list -> unit           val list : OpamTypes.name list -> unit           val variable : OpamTypes.full_variable -> unit           val subst : OpamTypes.basename list -> unit         end       module REPOSITORY :         sig           val list : short:bool -> unit           val add :             OpamTypes.repository_name ->             OpamTypes.repository_kind ->             OpamTypes.address -> priority:int option -> unit           val remove : OpamTypes.repository_name -> unit           val priority : OpamTypes.repository_name -> priority:int -> unit           val set_url :             OpamTypes.repository_name -> OpamTypes.address -> unit         end       module SWITCH :         sig           val switch :             ?compiler:OpamTypes.compiler ->             quiet:bool -> warning:bool -> OpamTypes.switch -> unit           val install :             quiet:bool ->             warning:bool ->             update_config:bool ->             OpamTypes.switch -> OpamTypes.compiler -> unit           val import : OpamTypes.filename option -> unit           val export : OpamTypes.filename option -> unit           val remove : OpamTypes.switch -> unit           val reinstall : OpamTypes.switch -> unit           val list : print_short:bool -> installed:bool -> all:bool -> unit           val show : unit -> unit         end       module PIN :         sig           val pin :             OpamPackage.Name.t ->             ?edit:bool ->             ?version:OpamTypes.version ->             ?action:bool -> OpamTypes.pin_option option -> unit           val edit : ?action:bool -> OpamPackage.Name.t -> unit           val unpin : ?action:bool -> OpamPackage.Name.t list -> unit           val list : short:bool -> unit -> unit         end     end   val global_lock : (unit -> unit) -> unit   val switch_lock : (unit -> unit) -> unit   val read_lock : (unit -> unit) -> unit   val with_switch_backup : string -> (OpamState.state -> unit) -> unit   module SafeAPI :     sig       val init :         OpamTypes.repository ->         OpamTypes.compiler ->         jobs:int ->         OpamTypes.shell ->         OpamTypes.filename -> [ `ask | `no | `yes ] -> unit       val list :         print_short:bool ->         filter:[ `all | `installable | `installed | `roots ] ->         order:[ `depends | `normal ] ->         exact_name:bool ->         case_sensitive:bool ->         ?depends:OpamTypes.atom list ->         ?reverse_depends:bool ->         ?recursive_depends:bool ->         ?resolve_depends:bool ->         ?depopts:bool -> ?depexts:string list -> string list -> unit       val info :         fields:string list ->         raw_opam:bool -> where:bool -> OpamTypes.atom list -> unit       val install : OpamTypes.atom list -> bool option -> bool -> unit       val reinstall : OpamTypes.atom list -> unit       val update : repos_only:bool -> ?no_stats:bool -> string list -> unit       val upgrade : OpamTypes.atom list -> unit       val fixup : unit -> unit       val remove :         autoremove:bool -> force:bool -> OpamTypes.atom list -> unit       module CONFIG :         sig           val env :             csh:bool -> sexp:bool -> fish:bool -> inplace_path:bool -> unit           val setup :             OpamTypes.user_config option ->             OpamTypes.global_config option -> unit           val setup_list : OpamTypes.shell -> OpamTypes.filename -> unit           val exec : inplace_path:bool -> string list -> unit           val list : OpamTypes.name list -> unit           val variable : OpamTypes.full_variable -> unit           val subst : OpamTypes.basename list -> unit         end       module REPOSITORY :         sig           val list : short:bool -> unit           val add :             OpamTypes.repository_name ->             OpamTypes.repository_kind ->             OpamTypes.address -> priority:int option -> unit           val remove : OpamTypes.repository_name -> unit           val priority : OpamTypes.repository_name -> priority:int -> unit           val set_url :             OpamTypes.repository_name -> OpamTypes.address -> unit         end       module SWITCH :         sig           val switch :             ?compiler:OpamTypes.compiler ->             quiet:bool -> warning:bool -> OpamTypes.switch -> unit           val install :             quiet:bool ->             warning:bool ->             update_config:bool ->             OpamTypes.switch -> OpamTypes.compiler -> unit           val import : OpamTypes.filename option -> unit           val export : OpamTypes.filename option -> unit           val remove : OpamTypes.switch -> unit           val reinstall : OpamTypes.switch -> unit           val list : print_short:bool -> installed:bool -> all:bool -> unit           val show : unit -> unit         end       module PIN :         sig           val pin :             OpamPackage.Name.t ->             ?edit:bool ->             ?version:OpamTypes.version ->             ?action:bool -> OpamTypes.pin_option option -> unit           val edit : ?action:bool -> OpamPackage.Name.t -> unit           val unpin : ?action:bool -> OpamPackage.Name.t list -> unit           val list : short:bool -> unit -> unit         end     end end