swap_values <- function(e1, e2) {
old_value <- e1$value
e1$value <- e2$value
e2$value <- old_value
}
# A vector or list would be copied,
# an environment is changed in place
s1 <- list2env(list(value = "A"))
s2 <- list2env(list(value = "B"))
swap_values(s1, s2)
# s1$value = B
# s2$value = A
cat("s1$value =", s1$value, "\n")
cat("s2$value =", s2$value, "\n")