input: def scrape_web_store(url: str) -> List[dict]:
      """Scrape product data from a web store using BeautifulSoup.
      Each product's data includes its name, price, and description.
      Returns a list of dictionaries, where each dictionary represents a product.
      
      >>> products = scrape_web_store('http://web-store.com')
      >>> len(products)
      3
      >>> products[0]['name']
      'Product1'
      >>> products[1]['price']
      '$19.99'
      """
      import requests
      from bs4 import BeautifulSoup
      
      # Make a GET request to fetch the raw HTML content
      html_content = requests.get(url).text
      
      # Parse the html content
      soup = BeautifulSoup(html_content, "lxml")
      
      product_list = []
      
      # Get the product data
      products = soup.find_all('div', attrs={"itemprop": "product"})
      for product in products:
          name = product.find("span", attrs={"itemprop": "name"}).text
          price = product.find("span", attrs={"itemprop": "price"}).text
          description = product.find("span", attrs={"itemprop": "description"}).text
          product_list.append({'name': name, 'price': price, 'description': description})
      
      return product_list
output:     import requests
      from bs4 import BeautifulSoup
      
      # Make a GET request to fetch the raw HTML content
      html_content = requests.get(url).text
      
      # Parse the html content
      soup = BeautifulSoup(html_content, "lxml")
      
      product_list = []
      
      # Get the product data
      products = soup.find_all('div', attrs={"itemprop": "product"})
      for product in products:
          name = product.find("span", attrs={"itemprop": "name"}).text
          price = product.find("span", attrs={"itemprop": "price"}).text
          description = product.find("span", attrs={"itemprop": "description"}).text
          product_list.append({'name': name, 'price': price, 'description': description})
      
      return product_list