def decode(self, bits: bytes) -> tp.Iterator["HuffmanNode"]:
        """
        take bitpadded bytes and decode it to a set of leaves. You can then use each node to find the symbol/id
        """
        a = bitarray()
        a.frombytes(bits)
        return self.root.decode(self._unpad(a))

        take bitpadded bytes and decode it to a set of leaves. You can then use each node to find the symbol/id
        
understand_icl/fairseq/fairseq/data/huffman/huffman_coder.py