code: func (d *Device) Dial(ctx context.Context, a ble.Addr) (ble.Client, error) {
  	d.sendCmd(d.cm, 31, xpc.Dict{
  		"kCBMsgArgDeviceUUID": xpc.MakeUUID(a.String()),
  		"kCBMsgArgOptions": xpc.Dict{
  			"kCBConnectOptionNotifyOnDisconnection": 1,
  		},
  	})
  	select {
  	case <-ctx.Done():
  		return nil, ctx.Err()
  	case c := <-d.chConn:
  		c.SetContext(ctx)
  		return NewClient(c)
  	}
  }
docs: // Dial ...