from typing import Union
from typing import List


def common_missing_fills(variable_type: str) -> Union[List[int], List[str]]:
    """Return a list of common missing stand-ins.

    Returns
    -------
    List[int]

    Parameters
    ----------
    variable_type : str
        What type of variable to return the missing stand-ins for, either
        "numeric" or "string".

    Returns
    -------
    list
        list of strings if variable_type is "string" and of ints if
        variable_type is "numeric".
    """
    if variable_type == "numeric":
        common_missing_fill_vals_numeric = [-1]

        # repetitions of "9"s
        mc_cains = [int("9" * i) for i in range(2, 5)]
        mc_cains = mc_cains + [-i for i in mc_cains]
        common_missing_fill_vals_numeric = common_missing_fill_vals_numeric + mc_cains

        return common_missing_fill_vals_numeric

    elif variable_type == "string":
        common_missing_fill_vals_str = ["NA", "missing", "N/A", "NaN"]

        return common_missing_fill_vals_str

    else:
        raise NotImplementedError