import typing
import itertools


def generate_permutations_with_replacement(width: int, seq_length: int) -> typing.List[typing.Tuple[int, ...]]:
    """
    Generates a list containing all seq_length**width possible permutations

    :param width: The length of each combination.
    :param seq_length: The amount of each possible types
    :return: A list containing all possible permutations with replacement.
    """
    return [permutation for permutation in itertools.product(range(seq_length), repeat=width)]