For better or worse, convert reduce to use the 2-argment form where LHS is in-place-mutable