///|
/// Set default values for keys that are missing in `map`.
///
/// Keys from `default_map` are only added when they do not already exist
/// in `map`. Returns a new map with defaults applied.
pub fn defaults(
map : Map[String, String],
default_map : Map[String, String],
) -> Map[String, String] {
let result = Map([], capacity=map.length() + default_map.length())
for k, v in map {
result[k] = v
}
for k, v in default_map {
if !result.contains(k) {
result[k] = v
}
}
result
}