docs: def is_encodable(self, typ: TypeStr, arg: Any) -> bool:
          """
          Determines if the python value ``arg`` is encodable as a value of the
          ABI type ``typ``.
  
          :param typ: A string representation for the ABI type against which the
              python value ``arg`` will be checked e.g. ``'uint256'``,
              ``'bytes[]'``, ``'(int,int)'``, etc.
          :param arg: The python value whose encodability should be checked.
  
          :returns: ``True`` if ``arg`` is encodable as a value of the ABI type
              ``typ``.  Otherwise, ``False``.
          """
          encoder = self._registry.get_encoder(typ)
  
          try:
              encoder.validate_value(arg)
          except EncodingError:
              return False
          except AttributeError:
              try:
                  encoder(arg)
              except EncodingError:
                  return False
  
          return True