We use it in our code to:
* Enforce noSideEffect (i.e. no access to globals, including stdin/stdout).
* Enforce handling of recoverable exceptions and make sure all kinds of
exceptions that can be thrown in inner function calls are accounted for or
handled or considered irrecoverable:
* Serialization
[https://github.com/status-im/nim-beacon-chain/blob/db92c2f25/beacon_chain/ssz/ssz_serialization.nim#L4](https://github.com/status-im/nim-beacon-chain/blob/db92c2f25/beacon_chain/ssz/ssz_serialization.nim#L4)
* Fuzzing
[https://github.com/status-im/nim-beacon-chain/blob/4a2e1806/nfuzz/libnfuzz.nim#L37](https://github.com/status-im/nim-beacon-chain/blob/4a2e1806/nfuzz/libnfuzz.nim#L37)
* You can force `{.noSideEffect.}` and `{.gcsafe.}` with a block
*
[https://github.com/status-im/nim-beacon-chain/blob/4a2e1806/beacon_chain/fork_choice/fork_choice.nim#L161-L166](https://github.com/status-im/nim-beacon-chain/blob/4a2e1806/beacon_chain/fork_choice/fork_choice.nim#L161-L166)- Benefit of the effect system? tibo
- Re: Benefit of the effect system? mratsim
- Re: Benefit of the effect system? snej
- Re: Benefit of the effect system? Yardanico
- Re: Benefit of the effect system? federico3
- Re: Benefit of the effect system? Yardanico
