eval with arbitrary environment in userland