An introduction to Free Monads: from basics up to building a pipe library | Hacker News Reader