async def corofunc():
            nonlocal called
            called = True
            return "some arbitrary value"
def insert(root, key):
    left, right = split(root, key)
    return merge(merge(left, Treap(key)), right)