Earlier quoted context omitted.
"putting your logic into types is better" Can you elaborate on that one? Sounds interesting to me.
In functional, statically typed programmings languages, there is a pattern where business logic, including "actions", is encoded in types. This article [1] gives an example of filesystem manipulations that are encoded in a "FreeF" type. When business rules are encoded in datatypes, it's easy to check that the encoding and the transformations are complete, and the logic can easily be mock-tested. [1] http://degoes.net…
If it feels like translating into a foreign language, then it likely is that exotic or you are using a wrong language.