[
Prelude> let dup a = (a,a) in snd . foldl1 (\(x,y) (w,z) -> (z,x)) . map dup $ [1..5]
4
я не знаю, как, но оно работает
Size: a a a
[
Prelude> let dup a = (a,a) in snd . foldl1 (\(x,y) (w,z) -> (z,x)) . map dup $ [1..5]
4
A
[
[
A
A
[
A
[
A
snd $ foldr1 (\x y -> if (fst y) then y else (True, snd x)) . fmap ((,) False) $ [1..5]A
[
[
[
[
A
A
A
let Left u = foldr1 (\x y -> y >> x >>= Left) . map Right $ [1..5] in uA
[