let mutate t ~index c =     try String.set t index c; return () with _ -> fail `out_of_bounds