In Elm all effects are managed (no side effects) and described with commands and subscriptions (Cmd msg, Sub msg). Only private organisations/people have access to add/describe new effects.
Effects module helps to manage additional program effects. For instance effects can be used for communication between programs. It make sense especially for programs described as a composition of sub-programs. A program effect should be supplied by a consumer.
Batches multiple effects. Useful when a program produces multiple effects.
Transforms an effect. Useful when combining multiple programs together.
Applies all effects to given initial value. Useful to apply effects produced by a program.
Applies all effects to given initial value by given priority. Useful to apply effects produced by a program. Effects with lover priority are applied first.
Describes a collection of program effects.