let d0 = function 
  Z -> failwith ("d0 : requires a non-zero natural number as its argument"|
  n -> TTNZ (n)