This fixes an assertion error when writing a coroutine with a function-try-block. In this case the function body is not a CompoundStmt so the code constructing an artificial CXXTryStmt must also construct a CompoundStmt for it.
While on it adjust the CXXStmt::Create function to only accept CompoundStmt*.
Can we try to move the logic to CoroutineStmtBuilder? That makes me feel better. And it will be helpful to add a comment to tell that we're handling the case the function body is function-try-block.