The Set method in IAggregateFluent and PipelineDefinitionBuilder currently only handles setting existing fields to new values.
That is because the input type and the output type of the stage are both `TResult`.
New overloads that support a result of `TNewResult` different than the input `TResult` is needed.
The design of the existing and any new API for Set should be carefully examined before any new public API is committed to.