if it SOs, then we can move it to MonadError and d...
# arrow-contributors
p
if it SOs, then we can move it to MonadError and do a version based off
tailRecM