cons の仕様

なんとなく,ペアを作成するプロシージャだと思ってましたが,
今日,

> (cons 'foo '(((bar))))
(foo ((bar)))

という結果に,ホワイ? となりました。
というのも,私の頭では,(foo (((bar)))) となるもんだと思っていたからどす。
んで,Revised(5) Report on the Algorithmic Language Scheme から仕様を確認。
曰く,

procedure: cons obj1 obj2
Returns a newly allocated pair whose car is obj1 and whose cdr is obj2.
The pair is guaranteed to be different (in the sense of `eqv?') from every existing object.
(訳) ペアを1個作ってかえすでござる。んで,そのペアの car,cdr は,それぞれ,obj1,obj2 となるでござんす。
作ったペアは,既存のどのオブジェクトとも異なることが保証されまっせ。あー,eqv? を使って比較した意味でね。

なるほど!! と。
ちなみに,最初の期待結果を返すのは,list プロシージャですね。