private ShapedQueryExpression(
     [NotNull] Expression queryExpression, [NotNull] Expression shaperExpression, ResultCardinality resultCardinality)
 {
     QueryExpression   = queryExpression;
     ShaperExpression  = shaperExpression;
     ResultCardinality = resultCardinality;
 }
 /// <summary>
 ///     Creates a new expression that is like this one, but with supplied result cardinality.
 /// </summary>
 /// <param name="resultCardinality">The <see cref="ResultCardinality" /> property of the result.</param>
 /// <returns>An expression with the updated result cardinality.</returns>
 public virtual ShapedQueryExpression UpdateResultCardinality(ResultCardinality resultCardinality)
 => new(QueryExpression, ShaperExpression, resultCardinality);