> Assume I am in a receive and in the guard of testing one message I call a > function which also receives messages. What happens to the message queue? this has nothing to do with the reality of Erlang :-) but presumably in a sufficiently powerful type system you could constrain the guards to be safe?