def restore(archive, env={}):
    """Return dictionary obtained by evaluating the string arch.

    arch is typically returned by converting an Archive instance into
    a string using :func:`str` or :func:`repr`:

    Examples
    --------
    >>> a = Archive()
    >>> a.insert(a=1, b=2)
    >>> arch = str(a)
    >>> d = restore(arch)
    >>> print("%(a)i, %(b)i"%d)
    1, 2
    """
    ld = {}
    ld.update(env)
    exec(archive, ld)
    return ld
