Tue Dec 2 14:15:52 EST 2014

loop and values should commute

I have a feeling this is currently an arbitrary limitation.

The problem seems to be the (+ accu body) in the `mix' macro:

(define-syntax mix
  (syntax-rules ()
    ((_ (i ...) ;; same as `loop' index spec
        vs body)
     (loop (i ...)
           ((accu 0))
           (+ accu body)))
    ((_ size streams body)
     (mix size () streams body))))

I have a feeling I'm going to keep running into special cases like
this until there is a more formal way of thinking about grids..

Solve it with a mix2 form for now..

The problem seems to be that there are two mechanisms at work here:
grids and the `values' construct.

Again the packed vs. unpacked thing...
Jumping between levels of abstraction.