What is the reasoning for virtual inheritance here?