isn't this pretty much the Either monad except that it's more "linear" and less "wrapped"? (since we are not following the monadic bind but a bind that does continuation by case)
edit: I just saw author's post note. nice. I think this actually makes a good monad intro.
edit: I just saw author's post note. nice. I think this actually makes a good monad intro.