When you had to create a N number of items from a property in an ARM object, you had to create an array and take N from that array. With the new copy functionality you are able to do a copy on an property in resource deployment object. For disks this can look like:
"copy": [ { "name": "dataDisks", "count": "[parameters('dataDiskCount')]", "input": { "diskSizeGB": "1023", "lun": "[copyIndex('dataDisks')]", "createOption": "Empty" } } ]
This new feature will make the creation of multiple properties a lot easier. For a full sample you can look at: Ryan Jones GitHub.