fn exit_scope(&mut self) -> Compiler {
        // let ffi = mem::replace(&mut self.ffi, FFI::new());
        let enclosing = mem::replace(&mut self.enclosing, None);
        let nested = match enclosing {
            Some(compiler) => mem::replace(self, *compiler),
            None => unreachable!("Can not go back past root copiler"),
        };
        // self.ffi = ffi;
        return nested;
    }
Restore the enclosing compiler,
returning the nested one for data (Lambda) extraction,
and moving the FFI mappings back into the enclosing compiler.
passerine/src/compiler/compile.rs