public IType GetConcreteExpressionType(Expression expression)
{
var type = GetExpressionType(expression);
var anonymousType = type as AnonymousCallableType;
if (anonymousType != null)
{
IType concreteType = GetConcreteCallableType(expression, anonymousType);
expression.ExpressionType = concreteType;
return concreteType;
}
return type;
}