When to use which data-structure?

Elixir Best Practices: When to Use Structs, String-keyed Maps, and Atom-keyed Maps