Member predicate Access::mayBeGloballyImpure
Holds if it is possible that the expression may be impure. If we are not
sure, then it holds. Unlike mayBeImpure(), this predicate does not
consider modifications to temporary local variables to be impure. If you
call a function in which nothing may be globally impure then the function
as a whole will have no side-effects, even if it mutates its own fresh
stack variables.
predicate mayBeGloballyImpure()