Replacement for @raoulb pr#914

See #914

ToDo:
- [x] tests
- [x] final rebase
Doesn't it also automatically evaluate for everything in the cst_table (which should be an attribute on the class btw, so it's accessible outside of the `eval` method)?