docs: def iterator_cycle(variables: VarType, parent: str) -> Iterable[VarMatrix]:
      """Cycle through a list of values a specified number of times
  
      Args:
          variables: The input variables for the creation of the range
          parent: The variable for which the values are being generated.
  
      Returns: A list of dictionaries mapping the parent to each value.
  
      """
      if isinstance(variables, dict):
          if variables.get("times"):
              times = int(variables["times"])
              del variables["times"]
  
              yield list(variable_matrix(variables, parent, "product")) * times
  
          else:
              raise ValueError(f"times is a required keyword for the repeat iterator.")
      else:
          raise ValueError(
              f"The repeat operator only takes a dict as arguments, got {variables} of type {type(variables)}"
          )