template AliasTuple(seq...)
enum length = seq.length;
alias s0 = AliasTuple!();
alias s1 = AliasTuple!(1);
alias s2 = AliasTuple!(1, 2);
alias s3 = AliasTuple!(1, 2, 3);
alias s7 = AliasTuple!(1, 2, 3, 4, 5, 6, 7);
template removeFromSeqAt(size_t idx, seq...)
static if (seq.length > 0 && idx < seq.length)
alias removeFromSeqAt = AliasSeq!(seq[0 .. idx], seq[idx + 1 .. $]);
static foreach (s; AliasSeq!(s1, s2, s3, s7))
static foreach (i; 0 .. s.length)
pragma (msg, "Remove at ", i, " from: ", s.expand, " -> ", removeFromSeqAt!(i, s.expand));