Functional core, imperative shell: application architecture | Hacker News Reader