Make to use an added traversing function
Remove bind_option
Improve analyzer