code: def _number_parser(str_to_number_func):
      
      def _parse_number_value(element_text, state):
          value = None
  
          try:
              value = str_to_number_func(element_text)
          except (ValueError, TypeError):
              state.raise_error(InvalidPrimitiveValue,
                                'Invalid numeric value "{}"'.format(element_text))
  
          return value
  
      return _parse_number_value
docs: Return a function to parse numbers.