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 Skips explicitly allows breaking up some computationally expensive sequences into smaller chunks of work.