After some experimentation I have developed a JSON based language (serializable) that can be sent over the wire and parsed in a JS environment. Now it supports arrays, objects and primitives, promises and function composition all in one payload. Yes I am a bit proud of it and it took me a long time to get to this point.
It plays nice with the JS and TS language by having a utility to create stubs for functions which allow writing a complete program that is then sent somewhere else for parsing.
I believe that the real value or RPC is not just to call a function, but to do bulk requests and computation on the fly before a response is sent back over the wire.
I also think the core or this concept should be medium/protocol agnostic. You should decide if you want WS, HTTP or any other method of transport.
My work might inspire or create some discussion and criticism.