There's a comment at the end of arc.arc that might be relevant:
; solution to the "problem" of improper lists: allow any atom as a list
; terminator, not just nil. means list recursion should terminate on
; atom rather than nil, (def empty (x) (or (atom x) (is x "")))
But I think this means (len '(a b c . d)) would be 3, which may not be what you wanted.