Make method to create new object
Move car and cdr from state methods to util functions
Check type in `set-car!` and `set-cdr!`
Add `copy-list` and `bit?` functions
Detect function referential type in detail
Detect tail poision in compile phase, again
Rename function
Fix code-walker for LOOP vm opcode
Rename constant
Change member order for APPLY node
Distinguish tail position at traversal time and compile time
Show function name when illegal argnum occurred
Stop creating closure for loop
Remove SHIFT and DIRECTCALL from VM opcode
Stop creating box object for loop function
Check argument number for loop begining
Merge branch 'feature/dont-create-closure-for-loop' into develop