ClosedLoop
constructor(client: Client, mix: Mix, keysOf: (Int) -> KeyChooser, targets: List<URI>, startConcurrency: Int, maxConcurrency: Int, warmUpSeconds: Int, stepSeconds: Int, minGain: Double = DEFAULT_MIN_GAIN, maxErrorRate: Double = DEFAULT_MAX_ERROR_RATE, sweep: Boolean = false, growth: Int = 2, concurrencies: List<Int>? = null, failAfterSeconds: Int? = null, cpuSeconds: () -> Double = ::ownCpuSeconds, log: (String) -> Unit = {})