track evaluation traces, implement recursive invalidation