template void fill(ForwardIterator first, ForwardIterator last, const T& value) { if (first == last) return; else { *first = value; fill(++first, last, value); return; } }