(deftype SeqFly [s]
  clojure.lang.ISeq
    (first [this] (first (split s)))
    (next  [this] (SeqFly. (last (split s))))
  clojure.lang.Seqable 
    (seq [this] this)
  Object
    (toString [this] (str s)))
