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