InputRange.opApply

int opApply(scope int delegate(E))

foreach iteration uses opApply, since one delegate call per loop iteration is faster than three virtual function calls.

int opApply(scope int delegate(size_t, E))

Ditto