Combinando árboles de expresión

Tengo la siguiente expresión:

public Expression<Func<T, bool>> UserAccessCheckExpression<T>(int userId) where T : class
{
    return x => (IsAdmin || userId == CurrentUserId || userId == 0);
}

Entonces quiero aplicar este filtro a varias colecciones (IQueryable) como esta:

return tasks
  .Where(t => t.TaskUsers
     .Any(x => UserAccessCheckExpression<TaskUser>(x.User) && x.SomeBool == true));

Recibo el siguiente error al hacerlo:

Error 40 No se puede convertir implícitamente el tipoSystem.Linq.Expressions.Expression<System.Func<TaskUser,bool>> abool

No puedo usar una solución alternativa con la herencia de la interfaz (como TaskUser hereda la interfaz con la propiedad int UserId (donde T: IHasUserId)) ya que quiero combinar la lógica.

Respuestas a la pregunta(2)

Su respuesta a la pregunta