Also: implementations might use parallel evaluation, a data structure might be traversed fastest one way or the other, etc. You might also cross-reference to `foldl` and `foldr` here.