- public abstract void forVariables(VariableProcedure procedure);
- public abstract void collectFreeVariables(THashSet<Variable> vars);
- public abstract void decorate(ExpressionDecorator decorator);
- public abstract void collectEffects(THashSet<Type> effects);