           (if (> (aget ls i j) @z)
             (do
               (reset! z (aget ls i j))
-              (reset! ret #{(.substring s1 (- i @z) i)}))
+              (reset! ret #{(substring s1 (- i @z) i)}))
             (when (= (aget ls i j) @z)
-              (swap! ret conj (.substring s1 (- i @z) i)))))))
+              (swap! ret conj (substring s1 (- i @z) i)))))))
     @ret))

    :post [(not (nil? %))]}
   (if (and (>= (.length s) (.length suffix))
            (ends-with? s suffix ignore-case))
     (.substring s 0 (- (.length s) (.length suffix)))
     s)))

(defn ^String chop-prefix

        remaining (if (zero? full-lengths) (- width (.length s))
                      (rem missing (* full-lengths (.length padding))))]
    (str (apply str (repeat full-lengths padding))
         (substring padding 0 remaining))))


(defn ^String pad-right
