- length+ clistprocedure
Both length and length+ return the length of the argument. It is an error to pass a value to length which is not a proper list (finite and nil-terminated). In particular, this means an implementation may diverge or signal an error when length is applied to a circular list.
length+, on the other hand, returns #F when applied to a circular list.
The length of a proper list is a non-negative integer N such that cdr applied N times to the list produces the empty list.