Actor → Weapon → Shock Rifle
Actor → Weapon → Sniper Rifle
Actor → Weapon → Rocket Launcher
These are all examples of a straight forward inheritance. I still do not see any problems with compilation time? Even in this example, it’s not like you’re going to need to modify Actor class anyway, so any changes in Weapon only have one layer to propagate. This happens nearly instantly, what takes you 25 seconds to compile?