code: def symlink_folder_tree(
      folder: tp.Union[Path, str], shadow_folder: tp.Union[Path, str]
  ) -> None:
      """Utility for copying the tree structure of a folder and symlinking all files
      This can help creating lightweight copies of a project, for instantiating several
      copies with different parameters.
      """
      folder, shadow_folder = (
          Path(x).expanduser().resolve().absolute()
          for x in (folder, shadow_folder)
      )
      shadow_folder.mkdir(parents=True, exist_ok=True)
      for (
          fp
      ) in (
          folder.iterdir()
      ):  # iterating is more efficient than globbing here
          shadow_fp = shadow_folder / fp.name
          if fp.is_dir():
              symlink_folder_tree(fp, shadow_fp)
          elif not shadow_fp.exists():
              shadow_fp.symlink_to(fp)
  
imports: import os
  import re
  import tempfile
  import operator
  import contextlib
  from pathlib import Path
  import numpy
  import nevergrad.common.typing
  from nevergrad.common import testing
  from .None import utils
label_desc: Use image node_id 2 for calling a global function with example usage: symlink_folder_tree(folder, shadow_folder) without return types