¿Expresiones lambda y cómo combinarlas?

¿Cómo puedo combinar dos expresiones lambda en una usando un OR?

He intentado lo siguiente, pero fusionarlos requiere que pase parámetros en elExpresión Invocar llamadas, sin embargo, quiero que el valor pasado a la nueva lambda se pase a cada niño-lambda.

Expression<Func<int, bool>> func1 = (x) => x > 5;
Expression<Func<int, bool>> func2 = (x) => x < 0;
//Combines the lambdas but result in runtime error saying I need to pass in arguments
//However I want the argument passed into each child lambda to be whatever is passed into the new main lambda
Expression<Func<int, bool>> lambda = Expression.Lambda<Func<int, bool>>(Expression.Or(Expression.Invoke(func1), Expression.Invoke(func2)));

 //The 9 should be passed into the new lambda and into both child lambdas
 bool tst = lambda.Compile().Invoke(9);

¿Alguna idea de cómo combinar dos expresiones lambda en una y hacer que los argumentos del niño lambdas sean los del padre?

Respuestas a la pregunta(4)

Su respuesta a la pregunta