private Expression Build(Expression leftExpression) { if (leftExpression.Type.IsList()) { return(leftExpression.GetConcatCall(Right.Build())); } else if (leftExpression.Type == typeof(string)) { return(LinqHelpers.GetStringConcatCall(leftExpression, Right.Build())); } else { throw new ArgumentException(nameof(leftExpression)); } }