Trong khi nghiên cứu sâu hơn Applicative tôi đến Traversable, mặc dù tôi đã biết Foldable từ LYHGG, tôi chưa từng thấy trước đây, vì vậy tôi bắt đầu đọc Haskell wiki about Traversable. Trong khi đọc,
data Tree t = Empty | Node t (Tree t) (Tree t)
Chúng ta có thể tạo functor dụ và sử dụng fmap :: (t -> a) -> Tree t -> Tree a
Nhưng nếu thay vì (t -> a) Tôi muốn (Tree t -> a) vì vậy tôi có thể có