It's kind of like std::is_empty but allows virtual functions,
and the class may also have multiple base classes. This is the hard part. When the class has none or only one base, I can check std::is_polymorphic and compare its size with an empty polymorphic class. I have no clue how to do it when it has multiple empty polymorphic base classes.