A variety of tests around reachability. These tests in general check two things:
that we get unreachable code warnings in reasonable locations;
that we permit coercions into! from expressions which diverge, where an expression “diverges” if it must execute some subexpression of type !, or it has type ! itself.