bacon.run() can be reentrant