(bind-func foldl:[!b,[!b,!b,!a]*,!b,List{!a}*]* (lambda (fn start lst) (Cons$ lst (x xs) (foldl fn (fn start x) xs) start)))