 
 "Is this list lazy? Let's check:
 "
-(defn random-ints
+(defnure and Java collections, Java maps, Java
+CharSequences (including Strings), Java Iterables, Arrays, nil (null), anything
+clojure.lang.Seq.
+
+"
+(facts "some examples:" random-ints
   [limit]
   (lazy-seq
    (println "realizing random number") ;print when value is realized

useful, for instance the clojure collections don't implement Java's mutable
interfaces.

There seven primary abstractions that Clojures data structures implement:
- Collection
- Sequence
- Associative

  => '(\l \o \j \u \r \e))

"
'rest' underlies the implementation of variadic functions

'rest' and 'next' differ on the way that they treat sequences containing 0 or 1
 values:
