add fold_(rev_)range helpers for user hooks + feedback from PR