Local accumulators for cleaner comprehensions

Thanks for that.

However we would have functions in ModuleB using that modules @@foo and any functions we override would not have access unless provided through some ModuleB function just like a normal module attribute.

In respect of a module level @@foo and regular module attribute @foo, what is the material difference? Is it just the assignment syntax?

Given you can’t rebind to a module level @@foo at runtime I assume this would generate a compiler error or would you allow a function or inner scope to shadow a module variable?