Best way to compute a function on each element with incremental shadowing of element in these collection
===

What is the best way to compute a function on each element in a collection with an incremental shadowing of each element, like this simple example : 

    val v = IndexedSeq(1,2,3,4)
    
    v.shadowMap{ e => e + 1}
    
    shadow 1: (3,4,5)
    shadow 2: (2,4,5)
    shadow 3: (2,3,5)
    shadow 4: (2,3,4)

I think first to `patch` or `slice` to make this, but perhaps there is a more better way to do that in pure functional style ?

Thanks
Sr.