more fixes for direct_output_iterator