String diagrams for free monads (functional pearl)
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire