Still trying to find the best way to define recursive lists...