Simple, step-by-step derivation of Maybe and Free monads from first-principles | Hacker News Reader