diff -u a/ac.scm b/ac.scm --- a/ac.scm 2009-11-21 19:15:40.000000000 -0500 +++ b/ac.scm 2009-11-21 19:23:39.000000000 -0500 @@ -646,11 +646,14 @@ ; default vals with them. To make compatible with existing written tables, ; just use an atom or 3-elt list to keep the default. +(defarc alref arc-alref) + (define (ar-apply fn args) (cond ((procedure? fn) (apply fn args)) ((pair? fn) - (list-ref fn (car args))) + ((if (number? (car args)) list-ref arc-alref) + fn (car args))) ((string? fn) (string-ref fn (car args))) ((hash-table? fn)