def dict_change(old, new):
    """Readable representation of dict change"""
    lines = []
    keys = set(new)
    keys.update(old)
    for key in sorted(keys):
        if key not in new:
            lines.append('%r: %r -> key removed' % (key, old[key]))
        elif key not in old:
            lines.append('%r: new key -> %r' % (key, new[key]))
        elif new[key] != old[key]:
            lines.append('%r: %r -> %r' % (key, old[key], new[key]))
    return lines
