The window functions are considered somewhat unstable while we validate with the beta program whether some of our design and semantic choices were reasonable. For example, what should the behavior be with unexpected types or null values? Or when combinations of arguments don't clearly interact well.
As one concrete example, to quote David Percy:
For range-based / time-based bounds, the sortBy field has to be a number / date, respectively. If the current document's sortBy is the wrong type, then it gets assigned 'null'. But maybe it would be clearer to throw an error instead?
We plan to add $setWindowFields to API Version 1 in the coming months as we gather some confidence on these decisions.