Both RunSuspendedContext and RunCallerContext have the following text in their description:
It resumes X context (sending it Y as the resumption value)
X and Y are different, but the point is that both resume a context with a given resumption value.
Given that, I'll expect them both to pass the resumption value to the resumed context in the same way, but that isn't the case. RunSuspendedContext says in step 4:
Resume the suspended evaluation of
contextusingcompletionRecordas the result of the operation that suspended it.
And RunCallerContext says in step 4:
Resume
callerContext, passing NormalCompletion(value)
Other than value not being a CompletionRecord so it needs to be wrapped in NormalCompletion, why are both texts different? Is there any difference between how both pass their respective resumption value to the resumed context?