Using libp2p as a transport plugin for gRPC

I really love gRPC, but love the flexibility of libp2p transport agnosticism even more. I thought of combining the two (in C++), but this is just about the entirely documentation on transport plugins of gRPC. Now, I imagine that this should not be as complex a task as writing an http2 transport plugin for gRPC, because the transport logic is being handled by libp2p already. I see random experiments being done in Go, but nothing that I could make sense of. It would be most helpful if I could get some hints on how to proceed on this.

Also, maybe this approach is conceptually wrong and it is not a transport plugin that I should be looking for in this case.

Please advise!