This still has some odd and perhaps slightly unexpected corner cases -- e.g. '' returns False, ' ' returns True.