let of_character_list cl = match cl with | [] -> empty | one :: more -> let res = make (List.length cl) one in List.iteri more ~f:(fun i c -> S.set res (i + 1) c); res