(** lookup key in registry with environment variable override *)
val get: string -> string
val set: key:string -> value:string -> unit
+val has: string -> bool
(** remove a key from the current environment, next get over this key will
* raise Key_not_found until the key will be redefined *)
val unset: string -> unit
-val fold: ('a -> string -> string -> 'a) -> 'a -> 'a
-val iter: (string -> string -> unit) -> unit
-val to_list: unit -> (string * string) list
+val fold: ?prefix:string -> ('a -> string -> string -> 'a) -> 'a -> 'a
+val iter: ?prefix:string -> (string -> string -> unit) -> unit
+val to_list: ?prefix:string -> unit -> (string * string) list
+
+ (** @param prefix key representing the section whose contents should be listed
+ * @return section list * key list *)
+val ls: string -> string list * string list
(** {2 Typed interface}
* Three basic types are supported: strings, int and strings list. Strings