何故か規制喰らった。
原始でコンストラクタ使った例は
data Tree a = Null | Node (Tree a) (Tree a)

size :: Tree a -> Int
size tree = case (tree) of
Null -> 0
Node lt rt -> 1 + size lt + size rt
でいいのかな?
関数は最終的にNullにパタンマッチして0を返すから演算が終了する。
n-1ないけど
f :: Int -> Int
f n
| n == 0 = 1
| n < 0 = f (n+1)
も原始帰納になるでしょうか?
自然数を扱うときはn-1が必要だからこれは違う(普通の帰納)?