Can you clarify? I haven't seen people peek at messages without consuming them in Erlang. Even so I don't see how this gets you reordering.
Either way, it's processing some inbound messages before others for a process that is getting messages for requests as well as responses.
Personally, I have seen ocassional attempts to prioritize inbound queues, but it gets unwieldy quickly: you end up either reading nearly the whole mailbox on each iteration, or having to queue non-priority messages yourself, or do terrible things in erts code to add the ability to send to the front of a mailbox.
Since you perform this pattern matching, this means that messages may not be processed in the order they were received.