The Elixir stack makes heavy use of structs and Ecto schema’s which does provide a reasonable simple type matching, just not a rich HM type system. When coupled with testing it works very nicely for both maintenance and building new. It would of course be nice to have a better compile time types.
If I could somehow get exhaustive matching (with or without a stricter type system) I would be extremely happy.
That said, if Caramel were to pick steam back up (I believe it’s development is stopped or paused) I would be even happier.