The following examples show simple implementations of various client and remote procedures. The first two examples (Figure 1 and Figure 2) compare two similar implementations, one synchronous and the other asynchronous. These are non-executing examples, shortened for illustration. The third example (client.p and server.p) shows a fully executing, asynchronous implementation of client and remote procedures.