   @type t :: %Range{first: integer, last: integer}
   @type t(first, last) :: %Range{first: first, last: last}
 
-
   @doc """
   Creates a new range.
   """

  import Inspect.Algebra

  def inspect(first..last, opts) do
    concat [to_doc(first, opts), "..", to_doc(last, opts)]
  end
end


  def new(first, last) do
    raise ArgumentError,
          "ranges (first..last) expect both sides to be integers, " <>
            "got: #{inspect(first)}..#{inspect(last)}"
  end

  @doc """
