docs: def process_command(command: CommandInput, matrix: VarMatrix) -> List[Command]:
      """Generate all combinations of commands given a variable matrix.
  
      Processes the commands to be sequences of strings.
  
      """
      assert command is not None
      if isinstance(command, str):
          command_list = [Command(command, variables=variables) for variables in matrix]
      elif isinstance(command, list):
          command_list = [Command(command, variables=variables) for variables in matrix]
      else:
          if command.get("command") is not None:
              cmd = command.get("command")
          else:
              cmd = command.get("cmd")
          creates = str(command.get("creates", ""))
          requires = str(command.get("requires", ""))
  
          assert isinstance(cmd, (list, str))
          command_list = [
              Command(cmd, variables, creates, requires) for variables in matrix
          ]
      return uniqueify(command_list)