code: def _whole_basis_types(basis):
      '''
      Get a list of all the types of features in this basis set.
  
      '''
  
      all_types = set()
  
      for v in basis['elements'].values():
          if 'electron_shells' in v:
              for sh in v['electron_shells']:
                  all_types.add(sh['function_type'])
  
          if 'ecp_potentials' in v:
              for pot in v['ecp_potentials']:
                  all_types.add(pot['ecp_type'])
  
      return sorted(list(all_types)f _whole_basis_types(basis):
      '''
      Get a list of all the types of features in this basis set.
  
      '''
  
      all_types = set()
  
      for v in basis['elements'].values():
          if 'electron_shells' in v:
              for sh in v['electron_shells']:
                  all_types.add(sh['function_type'])
  
          if 'ecp_potentials' in v:
              for pot in v['ecp_potentials']:
                  all_types.add(pot['ecp_type'])
  
      return sorted(list(all_types))
docs: Get a list of all the types of features in this basis set.