       _ (assert (= keep-words ["abcd" "xbcd"] ))
     guessed-chars       #{ \b }
       _ (assert (= guessed-chars #{\b} ))
-    new-guess           (make-guess-freq word-array guessed-chars)
-      _ (assert (= new-guess \x ))
-    guessed-chars       (conj guessed-chars new-guess)
-      _ (assert (= guessed-chars #{\b \x} ))
-    new-clue            (make-clue tgt-word guessed-chars)
-      _ (assert (= new-clue [\x \b nil nil] ))
   ] )
 )
 

    (assert (= (get-array-col tstArr 2) [:c  3 \c] ))
  )

  ; Use of (frequencies...) and (merge-with...)
  (assert (= (frequencies "abbccc")          
             {\a 1, \b 2, \c 3} ))
  (assert (= (frequencies ["abc" "bc" "c"])  
             {"abc" 1 "bc" 1 "c" 1} ))
  (assert (= (map frequencies ["abc" "bc" "c"])
             [ {\a 1, \b 1, \c 1} {\b 1, \c 1} {\c 1} ] ))
  (assert (= (apply merge-with + (map frequencies ["abc" "bc" "c"]) )
             {\a 1 \b 2 \c 3} ))

  ; Match guesses
  (assert (guess-matches? "abcd" "abcd") )
  (assert (guess-matches? "abcd" [\a \b \c \d]) )

  { :pre  [ (integer? row-idx) ]
    :post [] }
  (nth word-array row-idx) )

(defn filter-with-idx
  "Returns values from data-seq where corresponding pred-seq elements are truthy.
