Better traversals

- do not pretend to be a lens
- support nested traversals