In the same way that an array reference allows you to indirectly reference items in a block, the REFxxx functions allow you to take that to the next level, indirectly referencing the block itself. Example: If you were to create a task block to sort a group of numbers, you could use REFxxx to access the memory, allowing you to abstract the block that the task operated on. You would then simply plug the target block number, then invoke the task.