pub trait Utf8Container {
// Required methods
fn slice(&self, start: usize, end: usize) -> &str;
fn from(&self, start: usize) -> &str;
fn to(&self, end: usize) -> &str;
fn divide(&self, mid: usize) -> (&str, &str);
fn nth_char(&self, n: usize) -> Option<char>;
fn last_char(&self) -> Option<char>;
fn num_chars(&self) -> usize;
fn byte_index_of(&self, i: usize) -> usize;
}