title: When to use handle_info and handle_cast
body: <p>It seems that the functionality of <code>gen_server:handle_cast/3</code> and <code>gen_server:handle_info/3</code> is very similar. I know that <code>handle_info/3</code> are used to handle timeout events.</p>
  
  <p>Is there any other rule to use them? In my opinion, I prefer to use <code>handle_info/3</code> to handle async messages. As it is shorter to use the grammer sugar <code>!</code>.</p>