headers.ml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16include Map.Make(struct type t = string let compare a b = String.(compare (lowercase_ascii a) (lowercase_ascii b)) end) let change ~key ~f map = match f (find_opt key map) with | None -> remove key map | Some v -> add key v map let add ~key ~value map = add key value map let add_opt ~key ~value map = match value with | Some value -> add ~key ~value map | None -> map