public static IHaveToken <T2> Is <T1, T2>(this IForToken <T1> ifor,
                                                  Expression <Func <T1, T2> > srcFunc,
                                                  [CallerFilePath] string file     = "",
                                                  [CallerLineNumber] int line      = 0,
                                                  [CallerMemberName] string member = "")
        {
            var diag = DiagInfoExpressionFactory.CreateDiag(file, line, member, srcFunc);

            return(ifor.Exists(diag, SingleFunc(srcFunc)));
        }
        public static IHaveToken <T3> Exists <T1, T2, T3>(this IForToken <T1, T2> ifor,
                                                          Expression <Func <T1, T2, IEnumerable <T3> > > srcFunc,
                                                          [CallerFilePath] string file     = "",
                                                          [CallerLineNumber] int line      = 0,
                                                          [CallerMemberName] string member = "")
        {
            var diag = DiagInfoExpressionFactory.CreateDiag(file, line, member, srcFunc);

            return(ifor.Exists(diag, srcFunc.Compile()));
        }