To implement 'perfectly' may involve something very close to the full complier parser -- handle comments, quotes correctly, handle detecting the 'target' of the 'annotation' -- I can definately understand a compromise to avoid that (from a non-compiler-vendor ) -- which leaves the question only 'which compromises' 🙂