If you write code to define an object that serves clients of diverse interests, you must arrange that one client not damage the service you provide to another.

When you are called you may expect a return key in slot 4 of the message. A mischievous client may deliver some non prompt key in that position, for instance the same key via which he called you. In that case your program will block indefinitely and other clients will block as they try to invoke you.

A convenient hack avoids this by exploiting the returner. It you want to return the message dat;K1,K2,K3 via the nominal return key R, then instead of returning to R, return to E(dat;K1,K2,K3,R). E us the returner whixh is a kernel object and those can efficiently notice that R is not a return key and discard the message and you are ready to serve your next client. The mischievous client gets no response, but then he provided no valid place to put the response.