code: def decode_single(self, typ: TypeStr, data: Decodable) -> Any:
          
          if not is_bytes(data):
              raise TypeError("The `data` value must be of bytes type.  Got {0}".format(type(data)))
  
          decoder = self._registry.get_decoder(typ)
          stream = ContextFramesBytesIO(data)
  
          return decoder(stream)
docs: Decodes the binary value ``data`` of the ABI type ``typ`` into its
          equivalent python value.
  
          :param typ: The string representation of the ABI type that will be used for
              decoding e.g. ``'uint256'``, ``'bytes[]'``, ``'(int,int)'``, etc.
          :param data: The binary value to be decoded.
  
          :returns: The equivalent python value of the ABI value represented in
              ``data``.