let strict_add key data m = try let _ = find key m in raise (Strict key) with Not_found -> add key data m