pub union Union<'a, B>where
    B: ToOwned<dyn Clone> + ?Sized + 'a,{
    /* private fields */
}