```vim function! s:foo() if v:true let s = 1 else let s = 2 endif endfunction ``` This script is translated to ```lisp (function (s:foo) (if v:true (let = s 1) else (let = s 2))) ``` But this should be ```lisp (function (s:foo) (let = s 0) ;;; define (if v:true (let = s 1) ;;; let else (let = s 2))) ;;; let ``` This can be fixes with traversing `let` nodes, maybe. https://github.com/vim-jp/vim-vimlparser/pull/55