Make initial value for inject() optional

+ As long as the range given to inject() covers at least one element,
  there is no need for an initial value, therefore, it can be made
  optional.
Do not rely on postfix ++/--

* For unknown types, we should not rely on the availability of postfix
  increment or decrement (although an isolated prefix inc/dec hurts my
  very soul).