Ex. This is Yet Another CPS. Explain it!

(define M
(lambda (f)
(lambda (ls)
(cond
((null? ls) '())
(else (cons (f (car ls)) ((M f) (cdr ls))))))))

(define (add1x) (+ 1 x))

((M add1) '(1 2 3)) ;=> '(2 3 4)