public static Task ConnectAsync(this IPeripheral peripheral, ConnectionConfig?config = null, CancellationToken?cancelToken = null) => peripheral .WithConnectIf(config) .Timeout(TimeSpan.FromSeconds(30)) .ToTask(cancelToken ?? CancellationToken.None);