Move code order
Split `compile-recur` function into smaller functions
Fix to work test and examples
Add code comments
Preserve new object created in C from GC #68