interface A : B { attribute DOMString a; }; interface B : C { [Default] object toJSON(); attribute long b; }; interface C { attribute DOMString c; }; interface mixin D { [Default] object toJSON(); attribute float d; }; interface mixin G { [Default] object toJSON(); attribute octet g; }; interface mixin H { [Default] object toJSON(); attribute DOMString h; }; interface mixin I { [Default] object toJSON(); attribute boolean i; }; A includes G; A includes H; B includes D;