C式の内部表現は、

名前付き可変長配列

だと、扱いやすいと経験上思います。
名前付きリストのほうがいいかもしれませんがわかりません。
ただの配列(JavaScriptのArray)だと扱いにくかったです。
関数を用意すればいいんだけど、
関数をいちいち通すってことは遅くなるって事だと思います。

名前付き配列として扱う場合にConsセグの拡張として考えると、
よくわからない、数学の世界みたいなのが広がっていってしまって困ります。

List(1,2,3 ... 4)
が
S式の(1 2 3 . 4)
に相当するように出来るんじゃとか。
List(1,2,3 ... 4)は
Cons(1, Cons(2, Cons(3, 4)))
の略だとか、何とかから始まって。
Consは2つしかデータ持たないけど
C(1,2,3)っていう風に3つ以上持てる場合も拡張して考えてくと。。。