Here is what I cooked, it's still a bit rough around the edges. It has an optional step argument, to see how many elements to jump.
[snip]
ElementType!R[] front() @property { return array(take(range, n));} //
I'd change this to just return take(range, n). Rule #1 in writing efficient D code, avoid the heap when you can :)
-Steve