   vector the length of the target word consisting of either letters (for correctly guessed
   letters) or nil (for incorrect guesses)."
   [tgt-word guessed-chars]
-  (vec (for [ letter tgt-word ] (get guessed-chars letter \- ))) )
+  (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."

    (assert (not (re-find (re-pattern patt-str) "xxxd" )))

    ; Test if keep word
    (assert      (keep-word? "abcd" "abcd"             #{}            )  )
    (assert      (keep-word? "abcd" "a---"  #{}            )  )
    (assert      (keep-word? "abcd" "ab--"  #{}            )  )
    (assert      (keep-word? "abcd" "----"  #{}            )  )
    (assert      (keep-word? "abcd" "ab--"   guessed-chars )  )
    (assert (not (keep-word? "abcd" "a---"   guessed-chars ) ))

  )
  (let [tst-words       [ "abcd" "xbcd" "xxcd" "xxxd" ] 
        words-map       (group-by count tst-words)
        word-list       (words-map 4)
        clue            "-b--"
        keep-words      (filter #(keep-word? % clue #{} ) word-list)
  ]
    (assert (= words-map   {4 ["abcd" "xbcd" "xxcd" "xxxd"]} ))
    (assert (= word-list      ["abcd" "xbcd" "xxcd" "xxxd"]  ))

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