let build_map_track_errors builder alist = match List.fold_left builder (StringMap.empty, []) alist with | (value, []) -> Left(value) | (_, errors) -> Right(errors)