code: def _expand_value(prefix: str, value: any, separator: str = "."):
      if isinstance(value, tuple) or isinstance(value, list):
          return sum(
              [
                  ValueCollection._expand_value(
                      f"{prefix}{separator}{i}", v
                  )
                  for i, v in enumerate(value)
              ],
              [],
          )
      if isinstance(value, dict):
          return sum(
              [
                  ValueCollection._expand_value(
                      f"{prefix}{separator}{k}", v
                  )
                  for k, v in value.items()
              ],
              [],
          )
  
      return [prefix]
  
imports: from typing import Callable, Dict, List, TYPE_CHECKING
  from labml.internal.util.strings import is_pattern_match
label_desc: Use image node_id 2 for calling the ValueCollection obj's underlying member method code with example usage: obj._expand_value(prefix, value, separator) and returns: list, sum, sum