main 1
sub 1
main 2
sub 2
main 3
wait:
  wait start
  wait end
end waiting
value produced after some time: 42
non-blocking goroutine
done with non-blocking goroutine
async interface method call
