sig   exception Invalid_section of string   exception Invalid_element of string   exception Missing_section of string   exception Missing_element of string   exception Ini_parse_error of (int * string)   type attribute_specification = {     atr_name : string;     atr_required : bool;     atr_default : string list option;     atr_validator : Pcre.regexp option;   }   type section_specification = {     sec_name : string;     sec_required : bool;     sec_attributes : Inifiles.attribute_specification list;   }   type specification = Inifiles.section_specification list   class inifile :     ?spec:Inifiles.specification ->     string ->     object       method attrs : string -> string list       method delval : string -> string -> unit       method getaval : string -> string -> string list       method getval : string -> string -> string       method iter : (string -> string -> unit) -> string -> unit       method save : ?file:string -> unit -> unit       method sects : string list       method setval : string -> string -> string -> unit     end   val fold : ('-> Inifiles.inifile -> 'a) -> string -> '-> 'a end