Comonads, Applicative Functors, Monads and Other Principled Things | Hacker News Reader