let index_of_character t ?(from=0) c =
let index = ref 0 in
try begin
List.iter t ~f:(fun x ->
if !index >= from
then
if x = c
then failwith "found"
else incr index
else incr index);
None
end
with _ -> Some !index