let is_one_true ~except:name_opt m =
match name_opt with
| None -> (
try
Datatype.String.Map.iter
(fun _ bval -> if bval then failwith "") m
;
false
with _ -> true
)
| Some name -> (
try
Datatype.String.Map.iter
(fun n bval -> if bval && (n <> name) then failwith "") m
;
false
with _ -> true
)