Estoy algo atorado con como usar el foldN para las funciones exp2, suma y predecesor.
Dejando de lado el usar una función Nat2Int realizar las operaciones deseadas como Int y luego aplicar la función int2Nat implementada con el foldN, que supongo no es a lo que va el ejercicio.
Para el exp2, puede que haya que utilizar alguna formula matemática que relacione una sumatoria con la potencia en base 2?
Para el suma debería crear mi propio foldNN para pares de Nats?
Y para el predecesor ni siquiera se me ocurre que hacer, por que no creo que pueda indicarle al foldN que deje de foldear al llegar a Succ(Zero).