(previously represented trees as lists)
A list is either
or
first <-- not necessarily a list and a rest <-- always a list
first <-- not necessarily a list
and a
rest <-- always a list