Determine if a loop is in the list
Write a procedure that examines a list and determines whether it contains a cycle, that is, whether a program that tried to find the end of the list by taking successive
cdr
s would go into an infinite loop. Exercise
3.13
constructed such lists.
Using mlists and re-defining cdr (totally unnecessary) really muddies water here. Attempt to use 'normal' lists leads to unexpected behaviour