(acc, b) => { acc <= b }
こういう判別関数があったとして、求める答えが、1つだけなら簡単。

例えば、入力が[3, 2, 3, 5]でも、
バッファに持っている値は、[3, 3, 3, 5]の順番で、1つだけで済むけど、

答えが複数可能になると、[3, 3, [3, 3], 5]の順番で、
途中でバッファに複数を持つ必要がある

こういう処理が難しいから、答えを1つしか返さないのだろう

あるレコードの列の値、Hash の値、あるオブジェクトのプロパティの値が、
最大のものを求める(複数可能)という、簡単な関数が、意外と見つからない