@property
    def factsByQname(self): # indexed by fact (concept) qname
        """Facts in the instance indexed by their QName, cached
        
        :returns: dict -- indexes are QNames, values are ModelFacts
        """
        try:
            return self._factsByQname
        except __HOLE__:
            self._factsByQname = fbqn = defaultdict(set)
            for f in self.factsInInstance: 
                if f.qname is not None:
                    fbqn[f.qname].add(f)
            return fbqn
dataset/ETHPy150Open Arelle/Arelle/arelle/ModelXbrl.py/ModelXbrl.factsByQname