Correct me if I'm wrong since I don't have much Elm experience beyond evaluating it for a project, but isn't Elm's effect system pretty basic. For example, It's not possible to define first-class effects at the type level, and it's impossible to define higher-order effects.