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