rename lift => lift! and fix `ret (function ,fn)` bug
register-allocation unfinished code