[WIP] make ASTs cachable

revert