I must confess I didnt read your whole posting to the end, but it seems that this is much the same idea as I had in "Feature Request: interfaces declare types" plus some extra intelligence, or? Henning -- GPG Public Key: http://keyserver.veridis.com:11371/search?q=0x41911851 Fingerprint: 344F 4072 F038 BB9E B35D E6AB DDD6 D36D 4191 1851