id:SaitoAtsushiさんとShiroさんに教えていただいて、なんとなくわかった瞬間がきました!とりあえずその全過程をご覧ください。

gosh> (cons 1 2)
(1 . 2)
gosh> (apply cons '(1 2))
(1 . 2)
gosh> (define p '(a b c))
p
gosh> (apply car (list p))
a
gosh> (car p)
a
gosh> (car (list p))
(a b c)
gosh> (apply cdr (list p))
(b c)

ここら辺の段階ではまだよくわかっていない。。。

gosh> (apply list-ref (list p ))
a
gosh> (list-ref p )
a
gosh> (apply list-ref (list p 1))
b
gosh> (list-ref p 1)
b
gosh> (apply list-ref (list p 2))
c
gosh> (list-ref p 2)
c
gosh> (apply length (list p))
3
gosh> (length p)
3
gosh> (apply list-ref '(1))
*** ERROR: wrong number of arguments for #<subr list-ref> (required 2, got 1)
Stack Trace:
_______________________________________
gosh> (list p 2)
((a b c) 2)

ここら辺でもまだ事の重要性に気づいていなかった。。。

gosh> (list-ref p 1)
b
gosh> (list p )
((a b c) )

もしや…applyって「一番外側の()を外して手続きに引数として渡している」んじゃあ…そうじゃないと、

gosh> (apply list-ref (list p 2))
c

とかになる理由が理解できない。これは結局

(list-ref '(a b c) )

となっているはず。そうじゃなければ、こんな挙動になるはずがない。。。

Shiro様、ありがとうございました(__)理解できました。