Lazy vars

Adding a 
```
{-@ LAZYVAR z @-}
```

annotation, that allows the definition of `z` to be checked under the environments where `z` is actually used