def merge_dicts(*dict_args):
    """
    Given any number of dicts, shallow copy and merge into a new dict,
    precedence goes to key value pairs in latter dicts.

    >>> merge_dicts( {1:2, 2:3, 3:4}, {2:4, 3:6, 4:8} )
    {1: 2, 2: 4, 3: 6, 4: 8}

    >>> merge_dicts( {} )
    {}

    >>> merge_dicts ( {}, {} )
    {}

    >>> merge_dicts ( {1:2}, {} )
    {1: 2}

    >>> merge_dicts ( {1:2} )
    {1: 2}

    """
    result = {}
    for dictionary in dict_args:
        result.update(dictionary)
    return result
