Currently these functions effectively allow unsafeInterleaveEff, but have no reason to. They could have the more restrictive types that only allow effects already in scope:
modifyScope :: forall e a b. ({ | a} -> Eff e { | b }) -> Scope a -> ReadWriteEff e Unit
modifyThis :: forall e a b. ({ | a } -> Eff e { | b }) -> This a -> ReadWriteEff e Unit
Currently these functions effectively allow
unsafeInterleaveEff
, but have no reason to. They could have the more restrictive types that only allow effects already in scope: