--- /dev/null
+map(f, xs) :: (a -> b) -> [a] -> [b] {
+ if(isEmpty(xs)) { return []; }
+ else {
+ return f(xs.hd) : map(f, xs.tl);
+ }
+}
+
+printI(i) :: Int -> Void {
+ print(i);
+}
+
+main() {
+ var xs = map(\x-> x+1, [1,2,3,4,5]);
+ map(printI, xs);
+}
\ No newline at end of file