let rec suc = function
  n -> if is_zero (n)
         then one ()
         else if is_one (n)
                then sucsuc (zero ())
                else sucsuc (suc (prepre (n)))