- you could use two symmetric coroutines if you want to mimic bidirectional data  transfer
- your example compiles and works with code from branch develop/master - it might be a regression in 1.55 and should be fixed in 1.56