Currently, there's no such thing as "static foreach". That the foreach is unrolled at compile-time is simply a side-effect of the aggregate being a tuple. Walter has already indicated that a true static foreach is planned for 2.x.