clojure requiere razon de sintaxis

Me cuesta entender (y, por tanto, recordar) que el clojure requiere la sintaxis que se describe aquí:http://clojuredocs.org/clojure_core/1.3.0/clojure.core/require. Parece tanto contra intuitivo como no uniforme.

Por ejemplo, en el siguiente por qué es necesario citar este vector:

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

Contador intuitivo porque normalmente los vectores no se citan en clojure (las listas se citan y los vectores se tratan como datos).

Y no uniforme porque en este caso el vector NO se cita:

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

Me doy cuenta de que la función requiere y la:require El uso dentro de la macro ns solo es ópticamente similar, pero aún así.

También hay otras piezas de rareza, por ejemplo, puedo hacer esto:

(require '(clj-json.core))

Pero no puedo hacer esto:

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

Alguien puede responder estas preguntas:

en el primer ejemplo, ¿por qué es necesario citar el vector?¿Por qué no necesita ser citado en la macro ns?¿Por qué la notación de lista no permite:as?

Me pregunto si hay razones por las que las cosas son como son o si la inconsistencia no se notó en el momento del diseño.

Respuestas a la pregunta(1)

Su respuesta a la pregunta