(letrec (mapN : (Int -> ) -> [Int] -> [] f : Int -> l : [Int]) (if (isnil l) nil : [] (let (h) (head l) (let (t) (tail l) (cons (f h) (mapN f t))))) (let (safeDiv n : Int m : Int) (if (= m 0) : : ) (letrec (simplifyN : [] -> [Int] l : []) (if (isnil l) nil : [Int] (let (h) (head l) (let (t) (tail l) (match h ( (simplifyN t)) ( (cons n (simplifyN t))))))) (let (exampleList) (cons 2 (cons 3 (cons 0 (cons 6 (cons 7 (cons 0 (cons 1 nil : [Int]))))))) (simplifyN (mapN (lambda n : Int (safeDiv 6 n)) exampleList))))))