I'm looking at this from the perspective of Python library authors, not through the eyes of a type checker author. I realize that type checker authors have some special needs for our own tests, but we have the ability to add mechanisms specific to our type checkers to address those needs. For library authors, I think they're mostly interested in validating that types evaluate correctly, hence the desire for something like `assert_type`. I've had several requests for exposing something like this in pyright. I presume that the maintainers of pytype also had similar requests, which led them to add their implementation of `assert_type`. I don't recall ever receiving a request for a block-scoped mechanism like you've proposed for `assert_error`. I also don't recall seeing any requests for such a mechanism in the mypy issue tracker. The functionality in the proposed `assert_error` seems redundant with existing comment-based mechanisms. In all Python type checkers you can specify a `# type: ignore` comment on a line to suppress a type error. In both mypy and pyright (I'm not sure about the other type checkers), you can also specify that unnecessary `# type: ignore` comments should generate an error. That combination of features seems like it would already cover the use case that you're trying to address with `assert_error`. -Eric