def merged_tagged_value_dict(iface, name):
    """
    Alternative implementation the keeps info on schema it came from
    """
    tv = {}
    for iface in reversed(iface.__iro__):
        value = iface.queryTaggedValue(name, None)
        if value is not None:
            for k, v in value.items():
                v['__schema__'] = iface
            tv.update(value)
    return tv
