ArrowChoice型クラス
https://en.wikibooks.org/wiki/Haskell/Understanding_arrows#An_ArrowChoice_can_be_resolute
https://qiita.com/Lugendre/items/6b4a8c8a9c85fcdcb292#条件分岐arrowchoice
『関数プログラミングの楽しみ』
10章