       %{^key => _} ->
         filter_not_in(rest, map2, acc)
       _ ->
-        filter_not_in(rest, map2, [{key, []} | acc])
+        filter_not_in(rest, map2, [{key, @dummy_value} | acc])
     end
   end
 

  """
  @spec put(t(val), new_val) :: t(val | new_val) when val: value, new_val: value
  def put(%MapSet{map: map} = map_set, value) do
    %{map_set | map: Map.put(map, value, [])}
  end

  @doc """

  `MapSet`s can also be constructed starting from other collection-type data
  structures: for example, see `MapSet.new/1` or `Enum.into/2`.
  """

  # MapSets have an underlying Map. MapSet elements are keys of said map,
  # and this empty list is their associated dummy value.
  @dummy_value []

  @type value :: term

