Li-Fan Chen says to YSITD
const inOrder_ = (fn) => (datas) => () => { data = datas.pop(); if(data) fn(data, inOrder_(fn)(datas)) } const inOrder = (fn) => (datas) => inOrder_(fn)(datas.reverse())