Type systems are leaky abstractions: the case of Map.take!/2
- José Valim
- March 3rd, 2026
- elixir , type system
Adding a type system to an existing dynamic language is a great exercise in showing all of the different ways type systems restrict the expressive power of programming languages. In this article, we will discuss one of said examples by exploring a potential `Map.take!/2` function as part of Elixir's standard library.
