Does dialyzer let you simplify code?

Require? No. It might tell you when you have unnecessary cases though.

Coming from a statically typed language, things like typespecs + Dialyzer warnings might make you feel more at home though.

I honestly wish Elixir could have some gradual typing system that stops compilation if typespecs don’t add up.