docs: def _encode_resp(self, value):
          """Dynamically build the RESP payload based upon the list provided.
  
          :param mixed value: The list of command parts to encode
          :rtype: bytes
  
          """
          if isinstance(value, bytes):
              return b''.join(
                  [b'$',
                   ascii(len(value)).encode('ascii'), CRLF, value, CRLF])
          elif isinstance(value, str):  # pragma: nocover
              return self._encode_resp(value.encode('utf-8'))
          elif isinstance(value, int):
              return self._encode_resp(ascii(value).encode('ascii'))
          elif isinstance(value, float):
              return self._encode_resp(ascii(value).encode('ascii'))
          elif isinstance(value, list):
              output = [b'*', ascii(len(value)).encode('ascii'), CRLF]
              for item in value:
                  output.append(self._encode_resp(item))
              return b''.join(output)
          else:
              raise ValueError('Unsupported type: {0}'.format(type(value)))