the patch is almost correct, not bad for a first contact.
so your ForEach loop will iterate thru all slices of the NotesState output. the set slice is also correct… only the output Splicer is not the right choice here. output Splicers will generate a new spread on the output with as many slices as the loop has iterations. so in your case you output a spread of spread. in the screenshot you see a spread of 6 slices where each slice is your input spread with 28 slices.
but what you want it the same spread as you put it. for that an Accumulator has to be used. it takes an initial value (in your case the original spread of 28 slices) and modifies this value in each iteration and passes it on to the next iteration:
it would also be interesting if this gray book page explains it well for you and if not what is missing: