Simple, step-by-step derivation of Maybe and Free monads from first-principles
linkedin.com