 
 (defn over [grammar left right]
   "opportunity for additional logging before calling the real (over)"
+  (log/debug (str "parse/over: grammar: " (count grammar) " left: " (type left) "; right: " (type right)))
   (over/over grammar left right))
 
 (defn create-ngram-map [args left ngrams grammar split-at x]

(defn create-xgram-map [args x index grammar & [nminus1grams runlevel]]
  (cond (= x 0) {}
        (= x 1) (create-unigram-map args index)
        (= x 2) (create-bigram-map args index grammar)

        true (let [nminus1grams (if nminus1grams nminus1grams
                                    (create-xgram-map args (- x 1) 0 grammar))]

    (vec tokens2)))

(defn toks2 [tokens lexicon lookup]
  "take a list of strings and looks up each in lexicon, as well as
  looking up sub-lists of two tokens in the lexicon as well. May
  consolidate larger-than-two sub-lists in the future."
  (cond (nil? tokens) nil
        (empty? tokens) nil
        (> (count tokens) 1)
