ref: 96d1b14e2711279bf716346de06d1ccda3508cea thon/examples/auto-natlist.thon -rw-r--r-- 191 bytes
Further elaborate datatypes to include an expose function

It's kind of a hacky solution for now, but it works ok I guess. You can
unpack a datatype by saying "exposeYourDatatypeName" and that'll unfold

and fix order of binding for the two sides of the datatype decl
elaborateDatatypes first impl

Still need to use the shiftDeBruijin functions to changes some db
indexes around. Also need to change the shiftDeBruijin functions to only
shift indexes that are sufficiently large (reach outside their local