The template typename `OutputIteratorValueType` was unused.
This made specifying it (as suggested by the docs) ineffective,
and forbade to use PLY functions e.g. with `boost::function_output_iterator`,
or any other output iterator whose `value_type` is `void`.