But you make ~60000 allocations here and your not testing orthogonal invariants.
How about this instead?
```d
BitArray a1, a2;

for (size_t len = 4; len <= 256; len <<= 1)
{
    a1.length = a2.length = len;
    a1[len-2] = a2[len-1] = true;
    assert(a1 > a2);
    a1[len-2] = a2[len-1] = false;
}

foreach (j; 1 .. a1.length)
{
    a1[j-1] = a2[j] = true;
    assert(a1 > a2);
    a1[j-1] = a2[j] = false;
}
```