Why do you have to use "first" in get-word-ids, and what's the right way to do this?
(defn parts-of-speech []
  (lazy-seq (. POS values)))
(defn index-words [pos]
  (iterator-seq (. dict getIndexWordIterator pos)))
(defn word-ids [word]
  (lazy-seq (. word getWordIDs)))
(defn get-word [word-id]
  (. dict getWord word-id))
(defn get-index-words []
  (lazy-seq (map index-words (parts-of-speech))))
(defn get-word-ids []
  (lazy-seq (map word-ids (first (get-index-words)))))
;; this works, but why do you have to use "first" in get-word-ids?
(doseq [word-id (get-word-ids)]
  (println word-id))
 
     
    