これは :ideograph_advantage: 情報かも https://qiita.com/debug-ito/items/34f6fb1403ab40ac7668
random (>=1 && <1.2)
ですねdata Tree a = Leaf | Node a (Tree a) (Tree a)
extract :: Tree a -> a extract Leaf = ???
a
を Monoid
にするとか、 (a, Tree a)
で NonEmpty
っぽくするとコモナドになったりするでしょうか。できたとして、これで嬉しいかはわかりませんが…instance Comonad Tree
なので a
に関する性質は実装に使えないのですよね(実装途中にやろうとして気付いたこれは的を得ていると思います(a, Tree a)
でNonEmpty
っぽくするとコモナドになったり