Nicer still?  Maybe some of the lists should be vertical instead.
Allocate colours deterministically & reasonably uniquely.
If list's head is an atom, shrink & colour list that colour.  Eww!