from typing import Union


def replace_str_index(text: str, index: int, replacement: Union[str, int]) -> str:
    """
    Info:
        Replaces the indexed part of the string with the replacement then returns the new string.
    
    Paramaters: 
        text: str - The string of text.
        index: int - Index of the character to replace.
        replacement: str - The replacement character(s)

    Usage:
        replace_str_index(text, index, replacement)

    Returns:
        str
    """
    return f'{text[:index]}{replacement}{text[index+1:]}'