mini-lf stuff

- use eta-long form
- cache string representations
- build an index during saturation (hash join)