public Expression <TDelegate> Build(Action <LambdaContext> scope)
 {
     using (var context = new LambdaContext(this))
         scope(context);
     return(Build());
 }
 public Expression <TDelegate> Build(Action <LambdaContext, ParameterExpression> scope)
 {
     using (var context = new LambdaContext(this))
         scope(context, Result ?? throw new InvalidOperationException(ExceptionMessages.VoidLambda));
     return(Build());
 }