def map_remove(map, *keys)
      assert_type map, :Map, :map
      hash = map.to_h.dup
      hash.delete_if {|key, _| keys.include?(key)}
      map(hash)
    end
def map_remove(map, *keys)
      assert_type map, :Map, :map
      hash = map.to_h.dup
      hash.delete_if {|key, _| keys.include?(key)}
      map(hash)
    end
Returns a new map with keys removed.

 Like all map functions, `map-merge()` returns a new map rather than
 modifying its arguments in place.

 @example
   map-remove(("foo": 1, "bar": 2), "bar") => ("foo": 1)
   map-remove(("foo": 1, "bar": 2, "baz": 3), "bar", "baz") => ("foo": 1)
   map-remove(("foo": 1, "bar": 2), "baz") => ("foo": 1, "bar": 2)
 @overload map_remove($map, $keys...)
   @param $map  [Sass::Script::Value::Map]
   @param $keys [[Sass::Script::Value::Base]]
 @return [Sass::Script::Value::Map]
 @raise [ArgumentError] if `$map` is not a map