mutate accumulate context in place