public async Task <object> ExecuteScalarAsync(ISqlCompileUnit statement, CancellationToken token = default)
        {
            await EnsureConnectionIsOpenAsync(token).ConfigureAwait(false);

            var command = connection.CreateCommand(Compile(statement));

            await using (command.ConfigureAwait(false)) {
                return(await driver.ExecuteScalarAsync(session, command, token).ConfigureAwait(false));
            }
        }