Add recursive calls, (function), #'
diff --git a/src/lisp/test-closures.lisp b/src/lisp/test-closures.lisp
index 1311a98..573024d 100644
--- a/src/lisp/test-closures.lisp
+++ b/src/lisp/test-closures.lisp
@@ -1,5 +1,12 @@
+(defun mapcar (func list)
+  (if list
+    (cons (apply func (list (car list)))
+          (mapcar func (cdr list)))
+    nil))
+
+(defun double (n)
+  (+ n n))
+
 (defun main ()
-  (let1 (number 3)
-    (let1 (adds-3 (lambda (n)
-                    (+ n number)))
-      (print (apply adds-3 '(4))))))
+  (print (mapcar #'double
+                 (list 1 2 3 4 5))))