Focus on organizing and putting together real projects.
What you have is fine, but to me, the only difficult part of Elixir is sending and recieving messages and how to wire it all together. What you have so far is what I would call "toy problems".
The message system and organizing modules in an intelligent way is something even veterans struggle with.
Thanks for your suggestion :)
I plan on the final chapter of the book being a project that involves:
- Setting up a project with Mix
- Using a dependency from an external project
- Test-driven development with ExUnit
- Writing an application piece-by-piece
I haven't yet decided on what that application will be yet (although I have some ideas!) but I am hoping to combine as many of the concepts from the book as possible in the exercise.
Maybe best saved for the sequel then. Because I think there is something intuitive about message passing that total beginners can understand.
It just hasn't been explained well by any resource I've read so far.