docs: def get(identifier, namespace='cid', domain='compound', operation=None, output='JSON', searchtype=None, **kwargs):
      """Request wrapper that automatically handles async requests."""
      if (searchtype and searchtype != 'xref') or namespace in ['formula']:
          response = request(identifier, namespace, domain, None, 'JSON', searchtype, **kwargs).read()
          status = json.loads(response.decode())
          if 'Waiting' in status and 'ListKey' in status['Waiting']:
              identifier = status['Waiting']['ListKey']
              namespace = 'listkey'
              while 'Waiting' in status and 'ListKey' in status['Waiting']:
                  time.sleep(2)
                  response = request(identifier, namespace, domain, operation, 'JSON', **kwargs).read()
                  status = json.loads(response.decode())
              if not output == 'JSON':
                  response = request(identifier, namespace, domain, operation, output, searchtype, **kwargs).read()
      else:
          response = request(identifier, namespace, domain, operation, output, searchtype, **kwargs).read()
      return response