fcn forwardDiff(lst){ if(lst.len()<2) return(T); return(T(lst[1]-lst[0]).extend(forwardDiff(lst[1,*]))) } fcn nthForwardDiff(n,xs){ if(n==0) return(xs); return(nthForwardDiff(n-1,forwardDiff(xs))) // tail recursion }