Hello Don,
You could relax the rule: Even if modules A and B both have 'static this', there is no circular dependency if: (1) throughout the whole of module A, it only uses pure functions from module B. OR (2) if the constructor of module A doesn't directly access static variables of module B, and EVERY function it calls is pure. But that probably doesn't open up very many use cases.
or (3) the compiler can prove no dependency exists. Yes this gets into some interesting "Is is illegal code" issues but...