 state, F& f)          {              return it_fold<                  typename result_of::next<It>::type                , boost::result_of<                      F(                          typename add_reference<typename State::type>::type,                          typename fusion::result_of::deref<It const>::type                      )                  >                , F              >(                  