Looking at it again, I don't think I should bother with the empty list check.