In every iteration, each block has the initial message and a list. If there is no needed communication for that block the list stays empty (and is filtered out on the calculation of the channel uses number). If there is communication, its length will be appended to the the list.
The processing of all blocks in an iteration should be parallel, so only the length of largest list counts, the others are assumed to be sent together with the messages of the largest list.
Approach tweak:
Closes #23