Use scope.watchAST instead of scope.watch

Fixes #1110
precompute