Support for List and Map

on a somewhat unrelated note, rather then this pattern where go:
```
if (doWeNeedToLiftBody) startLiftingMethod
body
if (doWeNeedToLiftBody) endLiftingMethod
```

I would like it if we can move towards something like: `liftWith(doWeNeedToLiftBody, liftingMethod, body)`