better str of environments
throw away the whole environment in some Lets

if the unused and unprunable environment in a Let is big, make copies of
all free variables into the Let environment.
remove-env support in if is subsumed by the general let opts
test and implement exact->inexact
support for mixing float and rational
implement bitwise-not
an XXX
make EqualInfo objects singletons
make get_mark_first a method

also kill unused get_marks
also specialize conses for flonums
type-specialize flonum-containing small lists of size 1