See Akka Typed (based on the Actor model) for an example of typed message passing in a distributed system.
Not sure what compromises were made, but it was a sore point for users of the library for years to throw around untyped messages when the host language (Scala) provided such a powerful type system.