Remove multi-assignments

Change a bunch of parallel assignments to sequential assignments, since the former perform additional array allocations that can worsen performance in hot paths.

Little example:
```ruby
require 'benchmark'

N = 10_000_000

Benchmark.bm(15) do |x|
  x.report('parallel') do
    N.times do
      a, b = 10, 20
    end
  end

  x.report('sequentially') do
    N.times do
      a = 10
      b = 20
    end
  end
end
```
```
                   user     system      total        real
parallel       1.950000   0.030000   1.980000 (  2.031743)
sequentially   1.400000   0.010000   1.410000 (  1.497073)
```

@arthurnn @dylanahsmith, please take a look