      (cons r1
            (lazy-random-states r2)))))
 
-(defn- gen-seq->seq-gen
-  "Takes a sequence of generators and returns a generator of sequences (er, vectors)."
+(defn- gen-tuple
+  "Takes a collection of generators and returns a generator of vectors."
   [gens]
   (make-gen
    (fn [rnd size]

   (gen-bind
     (choose min-elements max-elements)
     (fn [num-elements-rose]
       (gen-bind (gen-seq->seq-gen
                  (repeat (rose/root num-elements-rose)
                          generator))
                 (fn [roses]
                   (gen-bind
                     (gen-pure (rose/shrink core/vector

   (gen-bind
     (sized #(choose 0 %))
     (fn [num-elements-rose]
       (gen-bind (gen-tuple (repeat (rose/root num-elements-rose)
                                    generator))
                 (fn [roses]
                   (gen-pure (rose/shrink core/vector
                                          roses)))))))
