docs: def parse_iso8601_date(string):
      """
      Parse an ISO 8601 date string
      """
  
      # Match ISO 8601?
      match = _RE_ISO8601_DATE.search(string)
      if not match:
          raise ValueError('Expected ISO 8601 date')
  
      # Extract ISO 8601 components
      year = int(match.group('year'))
      month = int(match.group('month'))
      day = int(match.group('day'))
  
      return date(year, month, day)