@cebe special make tests about this. empty() is shorter and faster!