@cwebber @cj Something that should illustrate it quite well is that you can't actually implement a RPC interaction without a runtime check, in a sensibly-typed language. At least not without unsafe code.
That's because the communication primitive you use carries unstructured data (say, bytes) and to turn it into structured data you need to parse it: the parser is already a form of runtime check, as it will reject malformed data.
Depending on how your RPC system is engineered, you'll then do some further, semantic analysis on the structured data, like validating it conforms to a given schema/datatype, in the process of converting it to a more specific type.
(Sorry for the delete&repost, this was accidentally made followers-only.)