This guard means that the RAC macro is only ever used once. This makes the assumption that the Signal subscribed to sends a number synchronously, you may need to change this if you have asynchronous behaviour. This could be done by subscribing optimistically in the init method.