I'm new with explicitly building LINQ Expressions, and I'm trying to figure out how to combine a IEnumerable>> into a single Expression> by using Aggregate and Expression.AndAlso.

I feel like I'm getting close, but I'm obviously missing something. 

```
public static Expression<Func<T, bool>> CombineExpressions<T>(
IEnumerable<Expression<Func<T, bool>>> expressions)
{

  if (expressions == null || expressions.Count() == 0)
  {
    return t => true;
  }
  var combined = expressions
                .Cast<Expression>()
                .Aggregate((a, b) => Expression.AndAlso(a, b));

  ParameterExpression pe = Expression.Parameter(typeof(T), "x");

  return Expression.Lambda<Func<T, bool>>(combined, pe);
}

```

When I call this method, I get the following exception:

```
System.ArgumentException: 
       Expression of type 'System.Func`2[SomeEntity,System.Boolean]'
       cannot be used for return type 'System.Boolean'

```

Please help!