For example to manage a db connection, would the below work as expected? And if so, any drawback vs the old waitUntil approach? ```ts const getConnection = async () => { const connection = await getDb(); return { connection, [Symbol.asyncDispose]: async () => { await connection.close(); }, }; }; // CF worker fetch handler export default { async fetch(request, env, ctx) { await using db = getConnection(); // vs old ctx.waitUntil approach // ctx.waitUntil(db.connection.close()); return new Response(`Hi`); }, }; ```