[boost] [mpl]iter_fold_if Forward Backward rationale?