DEFINITION asucc()
TYPE =
       GAA
BODY =
FIXasucc{
         asucc:GAA
         :=λg:G
           .λl:A
             .<λa:A.A>
               CASE l OF
                 ASort n0 n<λn1:nat.A> CASE n0 OF OASort O (next g n) | S hASort h n
               | AHead a1 a2AHead a1 (asucc g a2)
         }