1) Now has inlining of global functions
2) Many functions have been decoupled from their primitives. Functions that need access to primitives must be declared as library functions in lib-ac.scm.arc.
For most cases, functions will be inlined anyway, so the resulting code will be practically the same as in previous versions, but at least the current version could do something like:
(fn (f l)
(cons (f (car l)) (map1 f (cdr l))))))
(prn (map1 car (list (list 1 2 3) (list 4 5 6) (list 7 8 9))))
; ( 1 . (4 . (7 . nil)))