DescriptorWithMixins are dynamically created and do not have a hash
class method. Those classes had hash values in python2 but do not
have a default hash in python3. Thus those class objects can not be
used as dict keys. Used location of section/unit instead of real object
for cache dict. Location object is hashable.