Designing with types #03: Safety and Intent

In the previous installment of this series, we concluded that we can write code that is safe and that reveals intent by making illegal states unrepresentable and by encapsulating state changes. Today, we’ll try to come up with proper definitions of safety and revealing intent. Also, we’ll take a look at more examples of applying these principles in practice. ...

July 9, 2025 · 8 min · Dirk Groot

Designing with types #02: Pitfalls and Practices

In this installment of my Designing with Types series, we’ll look at how some typical backend code is set up. We’ll identify some common pitfalls and identify best practices to avoid these pitfalls. ...

June 30, 2025 · 13 min · Dirk Groot