Locates an element in the internal data representation.  Returns
        starting byte index, starting bit index in the starting byte, and
        one past the final byte index.

def _locate(self, idx):
        """Locates an element in the internal data representation.  Returns
        starting byte index, starting bit index in the starting byte, and
        one past the final byte index.
        """
        start = idx * self._width
        end = (idx + 1) * self._width
        sbyte, sbit = divmod(start, 8)
        ebyte = BinInt(end).ceildiv(8)
        return sbyte, sbit, ebyte