Module Sequence.Expert
The functions in Expert
expose internal structure which is normally meant to be hidden. For example, at least when f
is purely functional, it is not intended for client code to distinguish between
List.filter xs ~f
|> Sequence.of_list
and
Sequence.of_list xs
|> Sequence.filter ~f
But sometimes for operational reasons it still makes sense to distinguish them. For example, being able to handle Skip
s explicitly allows breaking up some computationally expensive sequences into smaller chunks of work.