jzupka is right, Slots value is not inherited from class to class, which is confusing and is reason why we need things like:

     __slots__ = LibguestfsBase.__slots__

for subclasses which need to copy (or add on to) parent class slots.  From the above example, class B and D will not use slots at all!  Any class which is to use slots, must define the name and bind it to a value explicitly in every class definition.