Hello Jerry,
once it substitutes in the mixin, you have a cycle where no matter what vs is, vs should be the other value.
I think (but am not sure) that this is an inevitable side effect of D being Turing compleat at compile time. As a corollary, there is no way to enforce a rule against it. I'd say it's invalid but the compiler need not detect it in any or all cases.
-- ... <IXOYE><