In Scheme, using list to define a list ensures that the result is a proper list, meaning that its final element is a list ().
If one defines a test list:
(define test (list 27 3))
And takes the length of the list, Racket says that it is 2. When one prints the list, it only displays (27 3), not showing the ().
However, if one takes the (rest (rest test)), the () appears. Performing a (list-ref test 2) yields an error.
If the () appears as the 3rd element in the list when cdring through the elements, why isn't it considered a member of the list?
Wouldn't this create confusion between proper and improper lists in Scheme?