On Types, Functional Programming, and Monads | Hacker News Reader