IndexSet/IdSet interface classes have default constructors

Recently I noticed that the IndexSet and IdSet interface classes have default constructors. For example, the following code does indeed build:

UGGrid<2>::LocalIdSet foo;

I don't understand why such code should be allowed, because you really cannot do anything with such a default-constructed object. Is this a bug? Or is there a purpose that I just don't see?