public static bool Is1 <T1, T2, T3, T4, T5, T6, T7, T8>(this IOrType <T1, T2, T3, T4, T5, T6, T7, T8> self, out T1 t1) { if (self.Possibly1() is IIsDefinately <T1> definate) { t1 = definate.Value; return(true); } t1 = default; return(false); }