We don't need no stinking UML diagrams -- Recursive types

The 'designing with types' series

Monoids without tears

Railway Oriented Programming

Is your programming language unreasonable? | Scott Wlaschin

Railway-oriented programming