accum, fold, extreme: 1st version; io_fun: _(o...) = f._(i...)