Ranges because a D core language feature with D 2.021 Nov 25, 2008. Core language feature meaning it was no longer just a library construction, it was supported by foreach loops. As a library feature, it appeared in D 2.008 Nov 27, 2007.