As a part of servlet written in Racket, I would like to make a function that converts request bindings (in the form of a hasheq-table with strings as keys and values) to SQL table row (written again as a hasheq-table with strings as keys and sql types as values). It all seems to work as expected up to the point when the function in question receives the two hash tables, at which point it fails with the following error:

The request bindings are:

```
'#hasheq(("lastname" . "Smith")
         ("firstname" . "John")
          ("birthdate" . "1900-10-25"))

```

The column types are

```
'#hasheq(("lastname" . "character varying")
         ("firstname" . "character varying")
         ("birthdate" . "date"))

```

The error message is:

```
Servlet (@ /<... servlet URL ...>) exception:
hash-ref: no value found for key
  key: "lastname"

```

Curiously, if these hash tables are pasted to the DrRacket prompt together with the relevant code fragment, it runs without error producing

```
The value "Smith" needs to be converted to type "character varying"
The value "John" needs to be converted to type "character varying"
The value "1900-10-25" needs to be converted to type "date"

```

What did I do wrong? Any help is greatly appreciated! Here is the code:

```lisp
#lang racket

(define bindings-hash
  '#hasheq(("lastname" . "Smith")
           ("firstname" . "John")
           ("birthdate" . "1900-10-25")))

(define types-hash
  '#hasheq(("lastname" . "character varying")
           ("firstname" . "character varying")
           ("birthdate" . "date")))

(define (test)
  (eprintf "The request bindings are \n~v\n" bindings-hash)
  (eprintf "The column types are \n~v\n" types-hash)
  (for ([(this-key this-value) (in-hash bindings-hash)])
    (eprintf "The value ~v needs to be converted to type ~v\n"
             this-value
         (hash-ref types-hash this-key))))

(test)

```