Most maintenance pain starts when one function reads input, makes the decision, prints the answer, and loops. Split the work into a functional core, a boundary, and a public API before the file grows around that mix.
grox.io/blog/29-building-in-layers
#ElixirLang