Daat - Parameterized Modules in Elixir
Daat is an experimental library meant to provide parameterized modules to Elixir.
It can be used to decouple your business logic from side-effectful operations, to define polymorphic data structures at compile time, and to provide a clean way of injecting dependencies into a module, all while encapsulating those details from callers of the module.
Read next Elixir Wizards S3E15 Second Annual Lonestar Lunchisode