遍歷

一個 Traversal' s a 表明 s 裡面有 0 到多個 as。

toListOf::Traversal' s a -> (s -> [a])

任何型別的 t 都是 Traversable 自動擁有 traverse::Traversal (t a) a

我們可以使用 Traversal 來設定或對映所有這些 a

> set traverse 1 [1..10]
[1,1,1,1,1,1,1,1,1,1]

> over traverse (+1) [1..10]
[2,3,4,5,6,7,8,9,10,11]

一個 f::Lens' s a 說,在 s 裡面只有一個 a。一個 g::Prism' a b 說在 a 中有 0 或 1 個 bs。組成 f . g 給了我們一個 Traversal' s b 因為跟隨 f 然後 g 顯示了 s 中 0 到 1 的 bs。