されているね、十分。 ----code data Tree a = Node a [Tree a] instance (Show a) => Show (Tree a) where show (Node item xs) = show item ++ show xs -----実行 *Main> :type Node 1 forall a. (Num a) => [Tree a] -> Tree a *Main> Node 0 (map (Node 1) (map (map (flip Node [])) [[2,3],[4,5]])) 0[1[2[],3[]],1[4[],5[]]] ----- それとも、もしかして、こんなん? -----code追加 test (Node a) = a -----予想実行 *Main > test (Node 0) 0 *Main > test (Node 1 []) 1 ----- 上はともかく、下はあってもおかしくないし、欲しいな。 あとで少し探してみるか…。