We have to ask ourselves, what would the behavior be if you called a record with multiple arguments.

```clj
(myrec :foo :bar)
```

I would suggest that a useful behavior here is to recursively drill down into other maps/records.
eg
```clj
(defrecord Foo [a b])
(defrecord Bar [c d])
(let [foo (newFoo {:a 1, :b 2})
      bar (newBar {:c 10, :d foo)]
  (bar :d :b))

--> 2
```