add util.py:walk_obj