I think I'll go ahead and rework how/when these `exit`s happen around in the code. These changes will be outside of the scope of this PR, so I'll handle it in the next one.