     [(string/lower-case word) phones]))
 
 
-(defn is-cmudict-comment-line? [line]
-  (= (get line 0) \;))
+(defn is-cmudict-comment-line? [^String line]
+  (.startsWith line ";"))
 
 
 (defn parse-cmudict [rdr]
   (->> rdr
        line-seq
-       (filter #(not (is-cmudict-comment-line? %)))
+       (remove is-cmudict-comment-line?)
        (map parse-cmudict-line)))
 
 

(defn syllable-count
  "Counts the number of syllables in a string of phones."
  [phones]
  (count (filter #(#{\0 \1 \2} %) phones)))


(defn phones-for-word

  (map stresses (phones-for-word word)))


(defn- take-from-last
  "Return seq of elements in collection from the last item to pass 
  predicate until the end."
  [pred coll]
  (loop [match nil
         xs coll]
    (if-not (seq xs)
      match
      (if (pred (first xs))
        (recur xs (rest xs))
        (recur match (rest xs))))))


(defn rhyming-part
