This is effectively https://github.com/CommE2E/comm/commit/3d47f80c594a69206179fd8f33bb57d31b1fd78d and https://github.com/CommE2E/comm/commit/f1debdb595bcba76db8e91ff8d70519b9b0a785b squashed together into a single diff.
We use the same spec for both on the C++ side.
Depends on D11382