If an import is ignored at runtime (due to being in an if TYPE_CHECKING: or if MYPY: block), it should always be considered to be of the lowest priority when sorting import cycles. This is important, in particular, since the imports could well be of form from m import ..., which are given the highest priority right now.
There is more discussion in #481.