Foreign (and special foreign) functions now take an env to use as parent so that we can do things which modify the environment, like set! and define