Static Elixir

Which is usually a great indication of poor code though!

Look at Gradualizer, it works on BEAM files, thus yes it works with elixir, just need someone to make a good mix plugin for it to simplify it’s elixir use (like Dialyxir does with dialyzer). ^.^

Agree that good code is typable but things like returning a tuple or a value can already be difficult to type clearly without proper sum types I think (if i recall correctly we would need intersection types and those are a pain to work with) although they are common in elixir code

Tuple or Value is indeed just an unnamed sum type, which is already expressable via BEAM types with the | operator, so that is already supported.