   ([ds indices]
     (orbit-reps ds indices (elements ds))))
 
-(defn orbit [ds indices seed]
+(defn orbit-elements [ds indices seed]
   (distinct (for [[D i] (traversal ds indices [seed])] D)))
 
 (defn connected? [ds]

                    s#
                    (assoc v# i (reduce #(assoc %1 %2 v)
                                        (v# i)
                                        (orbit ds [i j] D))))))
  (unspin [ds i j D]
          (do
            (assert-arg "i" i #(index? ds %) "an existing index")

          (for [[i j] (map vector (indices ds) (rest (indices ds)))
                D (orbit-reps ds [i j])
                :let [x (m ds i j D)]
                E (orbit-elements ds [i j] D)]
            [E x])))

(defn- type-partition [ds]
