Coding and Reasoning with Purity, Strong Types, and Monads | Hacker News Reader