What is the function to a list in Scheme? It needs to be able to handle nested lists.
So that if you do something like (reverse \'(a (b c d) e)) you\'ll
(reverse \'(a (b c d) e))
You could simply reverse the elements in a list using foldr:
(foldr (lambda (a r) (append r (list a))) empty lst)