It would have been interesting if WireGuard had been implemented as a transport, but I was speaking conceptually.
The fact I had to write the library speaks to how conflated they are, on the other hand.
Edit: Making it allocation free sounds like an interesting challenge.