input: 
  from typing import List, Set
  
  def crawl(url: str) -> List[str]:
      """
      A web crawler function implemented in Python that, starting from a given URL, finds all links on the page, 
      then scrapes the content of each linked page. The function returns a list of all URLs that have been
      visited during the crawling.
  
      >>> crawl('http://example.com/')
      ['http://example.com/', 'http://example.com/about', 'http://example.com/contact']
      """
      visited = set()
      queue = [url]
  
      while queue:
          curr = queue.pop(0)
          if curr not in visited:
              visited.add(curr)
              response = requests.get(curr)
  
              if response.ok:
                  soup = BeautifulSoup(response.text, 'html.parser')
  
                  # scrape the page here
  
                  # find all the links
                  links = soup.find_all('a', href=re.compile('^http'))
  
                  for link in links:
                      if link['href'] not in visited:
                          queue.append(link['href'])
  
      return list(visited)
  
output:     visited = set()
      queue = [url]
  
      while queue:
          curr = queue.pop(0)
          if curr not in visited:
              visited.add(curr)
              response = requests.get(curr)
  
              if response.ok:
                  soup = BeautifulSoup(response.text, 'html.parser')
  
                  # scrape the page here
  
                  # find all the links
                  links = soup.find_all('a', href=re.compile('^http'))
  
                  for link in links:
                      if link['href'] not in visited:
                          queue.append(link['href'])
  
      return list(visited)