let bool_of_string s =
  match String.lowercase s with
    | "false" | "no" | "n" | "0" -> false (* " and " aren't used. *)
    | "true" | "yes" | "y" | "1" -> true
    | r -> raise (Wrong_type (fun outchan -> Printf.fprintf outchan
                                "Raw.Bool expected, got %s\n%!" r))