There can now be multiple items with the same location but with different extents.
```C
#define DECLARE2(x, y) int x = 1; int y = 2
int main() {
    DECLARE2(a, b);
}
```
Now a and b will both have the same location (the DECLARE2 invocation) but different extents.  This unique index, combined with the use of 'INSERT OR IGNORE INTO', means that we only get one of the variables in the database table.  Adding extents to this index lets us keep both of these in the table.