It would seem that `:var` in src blocks gets special treatment.

I am hacking on ob-racket trying to add the ability to require from a header (the `:results value` mode wraps everything in a `let` so you need something special to put requires at the top level).

I do this

```
#+begin_src racket :require rebellion/collection/list :require rebellion/streaming/transducer :var foo=1 :var bar=2
  (transduce (in-range 1 10)
             (folding + 0)
             #:into into-list)
#+end_src
```

Note there’s two `:var` headers and two custom `:require` headers

Yet when in my `org-babel-execute:racket` function I log `params` 

```
(defun org-babel-execute:racket (body params)
  "Executes a Racket code block."
  (message "==params %s" params)
  ...
```

I get

```
==params ((:var foo . 1) (:var bar . 2) (:colname-names) (:rowname-names) (:result-params replace) (:result-type . value) (:results . replace) (:exports . code) (:session . none) (:cache . no) (:noweb . no) (:hlines . no) (:tangle . no) (:lang . racket) (:require . rebellion/streaming/transducer))
```

Note that both `:var` headers have corresponding cons cells but only the last `:require` header does

What is causing this behavior and how would I modify it?