add monadic foldr and foldl