the old implementation would return a nil etag for `["","",""]` so I tried to keep that, unclear if its valid up to @rkh  and @raggi to decide