Topic: Why they hide it?

Reflecting over essence of reactive flows (reactive streams), I came to a conclusion that the reactive flow is pair of flows: a normal flow of messages plus a reverse flow of resolutions on record. In the world of the synchronous programming the flow of resolutions on record is implemented (a semaphore so in case of reactive flows we deal with an asynchronous semaphore. But creators of libraries for operation with reactive flows not only did not give to users access to an asynchronous semaphore as to independent object, they generally anywhere do not mention this term. How you think, why?