In OO frameworks like Spring (Java) you can have multiple classes implementing the same interface and inject them as a list into a service.
Example:
* Domains: person, company, team
* company and team depend on person, but not vice versa
* When deleting a person, the person service gets a list of “checkers” from other domains to see if the person is still in use before deleting
This way the person domain doesn’t know about company/team directly.
How would you model this “list of handlers” / dependency inversion pattern in Effect-TS?
Would you use layers, tagged services, something else?