Seriously stupid bug here!
I had an enum an static this() { } (empty, forgot why I added it)
one module and an struct in another module that converted values
from the enum. I imported only that enum and guess what?!?! Cycle
dependency! removed the static this() { } and worked!
The cycle dependency checking code is far too ignorant. It just
blindly checks without any rationale. Someone said this was
because phobos had a bug in it so the cycles were checked, maybe
it's time to address that issue rather than breaking code
arbitrarily?