We had a class that had a couple of class properties (using a third party classproperty decorator) that would raise TypeError if it was fetched on the base class, because it tried to index into an attribute that is None by default. You weren't supposed to do that anyway, so we didn't have a check for it. But MagicMock now fetches all attributes on any class you are trying to mock in order to check if they're async closures. It uses getattr with a default of None, but getattr only expects AttributeError from properties, so it passed up the TypeError instead of returning the default value, which made the class un-mockable.