If the main objection to struct DerivedStruct : BaseStruct { // derived members //... } looks too much like polymorphism would something like struct DerivedStruct { @contains BaseStruct base; } with some creative lowering be a more acceptable way forward?