How to typespec a float range in Elixir?

Ok, so I understand from this that my example is a subtype of float and not a dependent type.
A clear case of a dependent type would be list_to_tuple/1 as you mentioned.

This part is now clear to me.

This section however raises several questions. I thought Elixir was compiled to Erlang, which is then compiled into something else.
Shouldn’t then dyalizer know what to do with this?

I feel like I have a knowledge gap in how dialyzer works with Elixir, as I always believed it was the same version for both Elixir and Erlang, and the only “difference” was dialyxir (a wrapper around dialyzer for Elixir).

If Elixir and Erlang use different versions of dialyzer, where can I find them?
If this is the case, why hasn’t Elixir updated its version to that of Erlang in order to support this? (what is the hold-back)