Using “Smart” Constructors to Ensure Validation Rules are Applied
Avoid Domain Events within a Bounded Context (FP + DDD)
Invariants and how to express them formally in the Type System
Example of Capturing Business Rules with the Type System
Modeling Business Workflows as Pipelines
Modeling Dependencies (FP + DDD)
Selectively Passing Functions that are Needed as Dependencies
When to Make Dependencies Explicit