In OCaml and F#, List.reduce and List.fold behave as I describe. In F#, List.reduce throws when given an empty list. In OCaml it returns None or Some for a non-empty list.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.