It needs a layer because it is possible for a prim to be defined within a variant set in some layer, but then have an 'over' opinion defined in another layer without a variant, meaning the actual spec path depends on the layer.