sorry for the latish reply.
I mean it will be backward incompatible because other people may rely
on this type, to either specify other types in the modules, or
functions.
and since we will be changing it, regarless of being broader of
narrower, that could cause trouble.
Enum.index/0 is only used in Enum.find_index/2, but if changed to
`integer` it could be used in all these functions
$ ag "@spec\s+[^\n]+\binteger" lib/elixir/lib/enum.ex
313: @spec at(t, integer, default) :: element | default
564: @spec drop(t, integer) :: list
718: @spec fetch(t, integer) :: {:ok, element} | :error
769: @spec fetch!(t, integer) :: element | no_return
1909: @spec slice(t, integer, non_neg_integer) :: list
2073: @spec split(t, integer) :: {list, list}
2175: @spec take(t, integer) :: list
2465: @spec with_index(t) :: [{element, integer}]
2466: @spec with_index(t, integer) :: [{element, integer}]
> >> send an email to
elixir-lang-co...@googlegroups.com <javascript:>.