I was looking at StackOverflow for unanswered Alloy questions, and stumbled on this one, from 7 years ago.

They give this example:

```
sig E {}
sig G {}
sig D extends G {
x: E
}
sig F1 extends G {
x: G
}
sig F2 extends G {
x: G
}
sig F3 extends G {
x: G
}
sig F4 extends G {
x: G
}
run {} for 3
```

And note that if D is simply renamed H, Alloy produces a different number of variables.

I tested the example with Analyzer 6.1.0 and it is still the case: for “D” it produces 571 vars, 911 clauses; for “H” we get 579 vars, 925 clauses.

Any ideas why?