The compiler through an unexpected error at me today. I had placed a send shape that initialised a correlation set with a loop shape. The trick to get around this is to place the send shape within a scope shape. I set the transaction type on the scope to "None". Then just add you correlation set to the scope. Too easy! Now the correlation set is initialised on each interation of the loop as desired.