This excerpt from the AspectJ 5 Developer's Notebook, "It's very
important to preserve the same semantics between the code style and the
annotation style," which is implying that the semantics are the same is
just misleading, because the semantics are indeed quite different.
I agree that is misleading. Although we want to have identical semantics there are places where it is just not possible and mixins were added as a kind of best-can-do for AspectJ intertype declarations. There may still be places where mixins can be tweaked to bring them more inline with what is possible for ITDs (they haven't had a lot of work done on them) but at the very least the doc needs updating to detail the difference in semantics in this area, I just haven't had the time.