TODO: - tests for DEMOLISH under multiple-inheritance - test with %HAS values that need destroying