rewrite the interpreter (3)
rewrite the interpreter (3)

Now includes support for producer/consumer fusion. The core array evaluation loop has been specialised to DelayedOpenAcc, but in exchange the primitive operations can explicitly declare whether they expect a delayed/manifest array form, _without_ requiring a sum data type to represent these arrays.

sjfloat/accelerate,rrnewton/accelerate