 		   (lazy-seq
 		     (cons (vec rest) (runner (next rest))))))]
     (runner sqn)))
+
 
 ;;; Math
 

  (compile 'conexp.gui.repl)
  nil)

;;; Types

; work over this and make it more flexible
; we may need our own hierachy?

(defn math-type
  "Dispatch function for multimethods. Identifies sets and sequences

		      (cons new-val# (step# (inc n#) (concat (rest old-vals#) (list new-val#)))))))
		~(count initials) initials#)))))

(defmacro with-recur-seqs
  "Allow simple definitions of recursive sequences."
  [seq-definitions & body]
  (let [seq-names (take-nth 2 seq-definitions)
	seq-defs  (take-nth 2 (rest seq-definitions))]
    `(let [~@(reduce concat (map (fn [seq-name] `(~seq-name (ref []))) seq-names))]
