fcn vanEck(startAt=0){ // --> iterator (startAt).walker(*).tweak(fcn(n,seen,rprev){ prev,t := rprev.value, n - seen.find(prev,n); seen[prev] = n; rprev.set(t); t }.fp1(Dictionary(),Ref(startAt))).push(startAt) }