def get_in(mapping, *path):
    """
    Traverses a tree of dictionaries to get node specified by path, or returns
    None.
    """
    obj = mapping
    while obj and path:
        name, path = path[0], path[1:]
        obj = obj.get(name)
    return obj
