pub trait ToOwned<T>where
    T: Clone,{
    type Owned;

    // Required methods
    fn to_owned(&self) -> Self::Owned;
    fn whatever(&self) -> T;
}