include Core module Time_ns = Time_ns_unix module List = struct include List let map_result ~(f : 'a -> ('b, 'c) result) : 'a list -> ('b list, 'c) result = let open Result.Let_syntax in let rec go = function | [] -> return [] | x :: xs -> let%map x' = f x and xs' = go xs in x' :: xs' in go end module Z = struct include Z let sexp_of_t x = Sexp.Atom (Z.to_string x) end module Result = struct include Result let unwrap = function | Error _ -> failwith "Result.unwrap: unexpected (Error _)" | Ok v -> v end