declare fun {Length Lst} case Lst of _|T then 1+{Length T} else 0 end end declare fun {Length Lst} {LengthIter Lst 0} end fun {LengthIter Lst N} case Lst of _|T then {LengthIter T N+1} else N end end