Updating: supporting non-linear lazy evaluation.