> void add(T x) {
> /*static*/ foreach (i; Range!maxLength)
> if (x == data[i])
> return;
Sorry, this code is wrong, it has to iterate from 0 to length.
If some code doesn't have unittests then it's broken.
Bye,
bearophile