Suppose I have a list 

```
{a, b, c, d} 

```

**I want to operate on this list with a function which depends on the index of the element, e.g. I want to add the index number to each element to get**

```
{a+1, b+2, c+3, d+4}

```

what would be the best way to do this? 

I have seen some possible approaches but was wondering what the 'canonical' way would be.