Copy-on-modify Semantics

After applying the function to the original list will return a new object.

f(x) |> unlist()
## a b 
## 2 1

Rather than modifying the original list.

x |> unlist()
## a b 
## 1 1