make emitErr run outside promises
add guards
use confirming channel when necessary with an exchange
use 'otherwise' instead of 'catch,' because it's suddenly a problem?