code: def typed_gen(self, _):
      ret = []
      size = random.randint(0, 10)
      if random.randint(0, 4) == 0:  # heterogeneous
          for _ in range(size):
              ret.append(self.any_gen())
      else:  # homogeneous
          t = random.choice([bool(), int(), float(), str()])
          for _ in range(size):
              ret.append(self.typed_gen(t))
      return ret
  
imports: import copy
  import math
  import random
  import string
  from typing import Any, Dict, List, Optional, Set, Tuple
  from multipledispatch import dispatch
  from rich.progress import track
  from evalplus._experimental.evaluate_runtime import MAX_WARMUP_LIMIT, RUN_REPEAT, execute_for_runtime
  from evalplus.gen.mut_gen import MutateGen
label_desc: Use image node_id 10 for calling the TypedMutEffGen obj's underlying member method code with example usage: obj.typed_gen(_) and returns: ret