clean up the interface for functions from func(env) to func.call(env)