minus1216
callCC
の型はなぜ`forall r m a. ((forall b. a -> ContT r m b) -> ContT r m a) -> ContT r m a`ではなく`forall r m a b. ((a -> ContT r m b) -> ContT r m a) -> ContT r m a`なのでしょうか実際`callCC' f = callCC (\exit -> f $ (\ a -> absurd <$> exit a))`とすれば前者の型にでき、前者の型のほうが脱出用の継続(`callCC (\exit -> ...)`のexit)の返り値の型が制限されず便利であるように思えます