(a) efficiency. Is it expensive no longer to have the base functions
bound directly to their symbol? (My gut feeling is that with suitable
hashing and cacheing, the penalty is minimal.)
(b) you can *only* use get and simple variable retrieval in a non-base
environment with a NULL parent (eval(x <- 1, envir=foo) would give
'couldn't find function "<-"' or so). This could cause some confusion.
(b) means that the default should stay the way it is, but I think
there should be a way to set up a truly empty environment. We have a
fair number of cases where envir=NULL is used, so it would be safest
to make it a different value -- even if NULL is the obvious value for
an empty environment.