…
Algebraic data types and state modeling