(bind-func foldr:[!b,[!b,!b,!a]*,!b,ADList{!a}*]* (lambda (fn start lst) (ADCons$ lst (x xs) (fn x (foldr fn start xs)) start)))