xlauko wrote: Maybe worth adding `SingleBlockImplicitTerminator<YieldOp>` to omit implicit Yield everywhere? or can other terminator be used? Also `SingleBlock` trait probably also applies here? https://github.com/llvm/llvm-project/pull/190834