             ]
         (println )
         (let [
-          keep-words      (filter #(keep-word? % clue #{} ) word-list) ]
+          keep-words      (filter #(keep-word? % clue guessed-chars ) word-list) ]
             (print "clue: " clue "  ")
             (show-info "keep-words" keep-words)
             (if (= 1 (count keep-words))

            (not-any? #(= \- %) word) ]
    :post [] }
  (let [ patt-str (clue-to-regex clue guessed-chars) ]
    (re-find (re-pattern patt-str) word ) ))

(defn word-has-letter?
  "Returns true if a letter appears in a word, else nil."

  vector the length of the target word consisting of either letters (for correctly guessed
  letters) or nil (for incorrect guesses)."
  [tgt-word guessed-chars]
  (str/join (for [ letter tgt-word ] (get guessed-chars letter \- ))) )

(defn complement-char-class
  "Generate the regex for the complement of a set of characters."
