-let (get_string_list, set_string_list) =
- mk_get_set "string list" string_list_of_string string_of_string_list
+let (get_bool, set_bool) = mk_get_set "bool" bool_of_string string_of_bool
+let (get_string_list, set_string_list) = mk_get_set "string list" split merge
+
+let get_opt getter key =
+ try
+ Some (getter key)
+ with Key_not_found _ -> None
+let set_opt setter ~key ~value =
+ match value with
+ | None -> unset key
+ | Some value -> setter ~key ~value