sig
  type value =
      Identifier of string
    | Integer of int
    | Float of float
    | String of string
    | And of Configuration.value * Configuration.value
    | Or of Configuration.value * Configuration.value
  type section = {
    name : Name.t;
    elements : (string * Configuration.value) list;
  }
  type t = Configuration.section list
  exception Exception of int * string
end