WIP: Got significantly further after meeting with Manuel.  Inline consEnv to reveal more structure to the typechecker.
WIP: add newtypes for Sealed Exp and OpenExp
Refactor: introduce newtypes for sealed exps
Victory: The simple ELet tests succesfully converts!
DynamicAcc: Remove cruft and finish up Cond and constants
Add alternative DynamicAcc approach.  Use 'Smart' HOAS representation rather than going straight to the De-bruijn based AST
Get Map working.  VERY painful.
Add the first EPrimApp case.  Completing it will be VERY long
CPP hacks to start to add more primops
Sort out the num dictionary business.  Now start adding the primitives in bulk.

This commit required upstream changes, namely commit d30d758319d9bd81e in the Accelerate repository.
Add more prims and finish constants
Handle scalar-tuple types.
Eliminate non-exhaustive pattern matches except for the two big ones: prims and exp constructs
Put in some more errors and handle scalar 2-tuples as a proof of concept
WIP: working on scalar tuple expressions
WIP: attempt a general handling of tuples.  Didnt make it.
Add a huge pile of garbage copy-pasted code to handle tuple sizes 2-9.
Add bool prims
Refactor: mapD is its own function
WIP: getting ready to put in pesky float->int operations