'Format the %-formatted string with current format context.
The expl_expr should be an ast.Str instance constructed from
the %-placeholders created by .explanation_param().  This will
add the required code to format said string to .on_failure and
return the ast.Name instance of the formatted string.'

def pop_format_context(self, expl_expr):

    current = self.stack.pop()
    if self.stack:
        self.explanation_specifiers = self.stack[(-1)]
    keys = [ast.Str(key) for key in current.keys()]
    format_dict = ast.Dict(keys, list(current.values()))
    form = ast.BinOp(expl_expr, ast.Mod(), format_dict)
    name = ('@py_format' + str(next(self.variable_counter)))
    self.on_failure.append(ast.Assign([ast.Name(name, ast.Store())], form))
    return ast.Name(name, ast.Load())
