{
const generator = beats()
const iterator = generator[Symbol.asyncIterator]()
const first = await iterator.next()
let b = await iterator.next()
const toString = i => {
return JSON.stringify(_.map([i.value.instruments[0]], (v) => {
return _.pick(v, 'direction', 'state', 'value')
}))
}
while (toString(first) !== toString(b)) {
b = await iterator.next()
yield [false, first.value, b.value]
}
yield [true, first.value, b.value]
}