arsenm wrote: I'm not really a fan of observers. Why does the match table need these? The execution should know precisely what it's doing without tracking other dynamic context? https://github.com/llvm/llvm-project/pull/65955