This effectively removes usage of MPL in function_input_iterator.hpp and also simplifies implementation.
boost/function_output_iterator.hpp