+1 for doing the arity check when the message is received, it'd probably end up 'dry'er