def merge_overlapping_dicts( dicts ):
    """
    Merge a list of dictionaries where some may share keys but where
    the value must be the same
    """
    result = {}

    for mapping in dicts:
        for key, value in mapping.items():
            if key in result and result[ key ] != value:
                raise Exception(
                        "Key `{}` maps to both `{}` and `{}`".format(
                            key, value, result[ key ] ) )
            result[ key ] = value

    return result