namespace chat { struct Message { text: String (length=1..2048), } enum SendError { PermissionDenied } service Server { send: Message -> Result, } service Client { on_message: Message -> None, } }