clojure requer lógica de sintaxe

Estou tendo dificuldade em entender (e, portanto, lembrar) que o clojure requer a sintaxe descrita aqui:http://clojuredocs.org/clojure_core/1.3.0/clojure.core/require. Parece tanto contra intuitivo quanto não uniforme.

Por exemplo, no seguinte, por que esse vetor precisa ser citado:

(require '[clj-json.core :as json])

Contra intuitivo porque normalmente os vetores não são citados em clojure (listas são citadas e vetores são tratados como dados).

E não uniforme porque neste caso o vetor NÃO é citado:

(ns xxx 
    (:require [clj-json.core :as json]))

Eu percebo que a função require e o:require o uso dentro da macro ns é apenas opticamente semelhante, mas ainda assim.

Há outras peças de estranheza também, por exemplo, eu posso fazer isso:

(require '(clj-json.core))

Mas eu não posso fazer isso:

(require '(clj-json.core :as json))

Alguém pode responder a estas perguntas:

No primeiro exemplo, por que o vetor precisa ser citado?Por que não precisa ser citado na macro ns?por que a notação de lista não permite:as?

Eu estou querendo saber se há razões pelas quais as coisas são como são, ou se a inconsistência não foi notada em tempo de design.

questionAnswers(1)

yourAnswerToTheQuestion