Fixed C types.
Revert "fusion: if producers appear in the output, they had better be working with manifest data"

This reverts commit a9ea18db478957999c0c790f822855a41dd860b9.

For consistency and to simplify backend implementation, keep array arguments in delayed form. The only exception to this is when we reintroduce reshape, which must have a manifest argument in order to operate in constant time. This makes pretty printing a bit messier.
pretty printing hack for delayed arrays