Sat Jun 1 15:45:50 EDT 2019

loop :: (i -> M t) -> M (A t)

Literally: transform a loop body that produces elements into an array.

This can't be too hard.

EDIT: Types work out.  Arrays are constructed one dimension at a time.

EDIT: So here is what I find out: I don't have intrinsic motivation to
finish this.  It is REALLY in the way to make progress, but my mind is
on finding a new client.

EDIT: Ok, some ideas.  Dimensionality is in the type, do should be
reflected in reference.

EDIT: Conceptual problem?

This whole thing of treating everything as a grid is not going to
work.  Because of the signature of loop, there will be a concept of