assert_never already violates the rules of the type system currently because it exists to handle the case of when there is a contradiction between type information and runtime. Pretending it doesn’t does not make it easier for people to understand the type system, it makes people misunderstand it, and reach the wrong conclusions when assignment of Never occurs. thinking that it acts as a counter example of something, when in reality, there was a problem with the typechecker in question