The first example also fails if wrapped into a vararg function...
% (let ((*l '( '(1 2 3)))) (apply cdr *l))
(2 3)
% ((do (*l) (apply cdr *l)) '(1 2 3))
Nu uncaught exception: NSRangeException: -[__NSCFConstantString
substringWithRange:]: Range or index out of bounds
from <TopLevel>:2: in 1
from <TopLevel>:-1: in <Nu_cdr_operator:39e04e30>
from <TopLevel>:-1: in eval
from <TopLevel>:2: in apply
from <TopLevel>:2: in (do (*l) (apply cdr *l))
Does anyone know what I'm doing wrong?