async def corofunc(**local_args):
            nonlocal called
            assert local_args == args
            called += 1
def insert(root, key):
    left, right = split(root, key)
    return merge(merge(left, Treap(key)), right)