let rec add = function
m, n -> if is_zero (n)
then m
else if is_one (n)
then if is_zero (m)
then n
else if is_one (m)
then sucsuc (zero ())
else sucsuc (add (prepre (m), n))
else sucsuc (add (m, prepre (n)))