Fclib.ResultAdding let binding operators to the Result module.
zip r1 r2 regroups values in a pair Ok (v1, v2) if both arguments are Ok v1 and Ok v2 and propagate errors in other cases. If both r1 and r2 are errors we keep the first one, in this case r1.
module Operators : sig ... endvalue_or_else ~error r is equivalent to fold ~ok:Fun.id ~error r. It is similar to value but uses a function to compute the default value.