3 ms·
> If you have an effect set {A, B}, you can't know if A happens before B without reading the code. Same issue as monad transformers. Monad transformers don't h
by dwohnitmok 5y ago
> If you have an effect set {A, B}, you can't know if A happens before B without reading the code. Same issue as monad transformers.
Monad transformers don't have this issue. They have a well defined order in their types (e.g. `ExceptT e (StateT s)` is different from `StateT s (ExceptT e)` the latter blows away the state and aborts on an error, while the former preserves state on an error).
- isaacimagine 5y agoWhen working with monad transformers, I tend to stick to constraining functionality over unspecified monad. This essentially acts as a set (of constraints), which results in all the set-based woes that arise when effects are used. So not monad transformers themselves per se, you're right.