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