code: def _simulate_installation_of(to_install, package_set):
      # type: (List[InstallRequirement], PackageSet) -> Set[str]
      
  
      # Keep track of packages that were installed
      installed = set()
  
      # Modify it as installing requirement_set would (assuming no errors)
      for inst_req in to_install:
          dist = make_abstract_dist(inst_req).dist()
          name = canonicalize_name(dist.key)
          package_set[name] = PackageDetails(dist.version, dist.requires())
  
          installed.add(name)
  
      return installed
docs: Computes the version of packages after installing to_install.