title: WebSharper force a message passing call to be asynchronous
body: <p>Knowing an RPC call to a server method that returns unit is a message passing call, I want to force the call to be asynchronous and be able to fire the next server call only after the first one has gone to the server.</p>
  
  <p>Server code:</p>
  
  <pre><code>[&lt;Rpc&gt;]
  let FirstCall value =
      printfn "%s" value
      async.Zero()
  
  [&lt;Rpc&gt;]
  let SecondCall() =
      "test"
  </code></pre>
  
  <p>Client code:</p>
  
  <pre><code>|&gt;! OnClick (fun _ _ -&gt; async {
                              do! Server.FirstCall "test"
                              do Server.SecondCall() |&gt; ignore
                          } |&gt; Async.Start)
  </code></pre>
  
  <p>This seems to crash on the client since returning unit, replacing the server and client code to:</p>
  
  <pre><code>[&lt;Rpc&gt;]
  let FirstCall value =
      printfn "%s" value
      async { return () }
  
  let! _ = Server.FirstCall "test"
  </code></pre>
  
  <p>Didn't fix the problem, while the following did:</p>
  
  <pre><code>[&lt;Rpc&gt;]
  let FirstCall value =
      printfn "%s" value
      async { return "" }
  
  let! _ = Server.FirstCall "test"
  </code></pre>
  
  <p>Is there another way to force a message passing call to be asynchronous instead?</p>