I think this is a problem. `_checkForVaryingClosure` is a field which will incur a field lookup, which is not free. Since `MODE_GETTER` is the most common mode, I don't think we should be making it slower by incurring additional  cost. 

Why do we need to do this check here? can't we do it in `object` setter? if not Can we have a new mode 

```
case _MODE_GETTER_ONCE_:
  current = _getter(object);
  mode = _MODE_IDENTITY_
```