Both process a sequence element-by-element, carrying forward an accumulated state. reduce() builds a result by folding over an array; RNNs build a hidden state by folding over a sequence. Identical pattern.