Algebraic Data Types in four languages
How to model the data in a concise way using Haskell, Scala, Rust and TypeScript.
blog.softwaremill.com