import typing


def remove_dictlist_dupes(
    dicts: typing.List[typing.Dict],
) -> typing.List[typing.Dict]:
    """Remove duplicate dictionaries from a list of dictionaries

    Note: this will only work with single layer dictionaries!

    Parameters
    ----------
    dicts : List[Dict]
        a list of dictionaries

    Returns
    -------
    List[Dict]
        new list without duplicates
    """
    # Convert single layer dictionary to a list of key-value tuples
    _tupleify = [[(k, v) for k, v in d.items()] for d in dicts]

    # Only append unique tuple lists
    _set_tupleify = []
    for t in _tupleify:
        if t not in _set_tupleify:
            _set_tupleify.append(t)

    # Convert the tuple list back to a list of dictionaries
    return [{i[0]: i[1] for i in kv} for kv in _set_tupleify]