Context in [ENG-6384](https://linear.app/comm/issue/ENG-6384/add-stdpromise-support-in-rustpromisemanager)
I tried to implement it using the template (`std::promise<T>`) but this really complicates the code. I think we can assume the caller will handle it properly.