runtime scope doesn't need to reveal previous closures in keys().
add struct type, and more type-compiling support.
add "new".
allow function type to be traced through crushing, for prettier display.
"new" should be down at atom level.
fix bug in coerce.
move "new".
some general cleanup. almost ready to merge this branch back.
oops, i did actually need that.