これを行うための慣用的な方法を探しています。それは機能しますが、標準ライブラリで何かを再発明する必要があるようです。これを行う正しい方法は何ですか?
関数のリストを渡して順番にバインドしようとしています。おもちゃの例:
bindSeq :: (Monad m) => m a -> [(a -> m a)] -> m a
bindSeq m [] = m
bindSeq m (x:xs) = bindSeq ( m >>= x ) xs
bindSeq (Just 4) [ Just . (+1), Just . (+2)]
Just 7