Should traversable instances always count as non empty? Should we also check for countable?