Why use functional effects in your model?
Functional effect systems help you build the stories / recipes of your program, which are pure values. Many such values can be composed together to form larger values.
In the Scala 3/ZIO example shown `generateTrades` builds a **description** of a program that, when evaluated, may emit zero or more values of type `Trade`, may fail with errors of type `Throwable`, and uses an environment of type `Any`.
Effects encourage value based programming, encoding side-effects as computation that can be delayed till the edge. This keeps most of your model pure and you can reason about it.