rather than closing the channel we write to (and on line 60-64 have to defer/recover, which we dont do anywhere else in the codebase and in my opinion should try to be avoided) we should use an "exit chan".