public static IHaveToken <T2> IsNot <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.DoesNotExist(diag, SingleFunc(srcFunc)));
        }
        public static IFilterToken IsTrue <T1, T2>(this IForToken <T1, T2> ifor,
                                                   Expression <Func <T1, T2, bool> > filter,
                                                   [CallerFilePath] string file     = "",
                                                   [CallerLineNumber] int line      = 0,
                                                   [CallerMemberName] string member = "")
        {
            var diag = DiagInfoExpressionFactory.CreateDiag(file, line, member, filter);

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

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