docs: def arxiv_categories(self, key, value):
      """Populate the ``arxiv_categories`` key.
  
      Also populates the ``inspire_categories`` key through side effects.
      """
      def _is_arxiv(category):
          return category in valid_arxiv_categories()
  
      def _is_inspire(category):
          schema = load_schema('elements/inspire_field')
          valid_inspire_categories = schema['properties']['term']['enum']
  
          return category in valid_inspire_categories
  
      def _normalize(a_value):
          for category in valid_arxiv_categories():
              if a_value.lower() == category.lower():
                  return normalize_arxiv_category(category)
  
          schema = load_schema('elements/inspire_field')
          valid_inspire_categories = schema['properties']['term']['enum']
  
          for category in valid_inspire_categories:
              if a_value.lower() == category.lower():
                  return category
  
          field_codes_to_inspire_categories = {
              'a': 'Astrophysics',
              'b': 'Accelerators',
              'c': 'Computing',
              'e': 'Experiment-HEP',
              'g': 'Gravitation and Cosmology',
              'i': 'Instrumentation',
              'l': 'Lattice',
              'm': 'Math and Math Physics',
              'n': 'Theory-Nucl',
              'o': 'Other',
              'p': 'Phenomenology-HEP',
              'q': 'General Physics',
              't': 'Theory-HEP',
              'x': 'Experiment-Nucl',
          }
  
          return field_codes_to_inspire_categories.get(a_value.lower())
  
      arxiv_categories = self.get('arxiv_categories', [])
      inspire_categories = self.get('inspire_categories', [])
  
      for value in force_list(value):
          for a_value in force_list(value.get('a')):
              normalized_a_value = _normalize(a_value)
  
              if _is_arxiv(normalized_a_value):
                  arxiv_categories.append(normalized_a_value)
              elif _is_inspire(normalized_a_value):
                  inspire_categories.append({'term': normalized_a_value})
  
      self['inspire_categories'] = inspire_categories
      return arxiv_categories