Functional Core, Imperative Shell in C#
A lot of code is hard to test not because the business logic is complex, but because decisions and side effects are woven together. Functional Core, Imperative Shell is a simple rule for separating the two — and I pointed Claude Code at a tangled handler to do the split.