def remove_keys(dic, keys=[]):
    """
    Remove a list of keys from a dict and return a new one.

    Parameters
    ----------
    dic : dcit
        The input dictionary.
    keys : list of str
        A list of arguments to remove or a string for single argument.

    Returns
    -------
    dict
        Dictionary with removed keys.
    """
    dic_copy = dict(dic)
    if isinstance(keys, str):
        keys = [keys]
    for key in keys:
        del dic_copy[key]
    return dic_copy