github.com/perdata/lazy (go): Package lazy implements a lazy collection.  Slice and Splice simply defer the operation.  ForEach iterates through all the sub-slices and provides a way to reconstruct the new array.  This effectively prevents a lot of intermediate memory allocation and copying saving time (possibly at the cost of extra memory).  Benchmark results
Keywords: collections|golang|immutable|lazy|persistent