Fix typo
Do not take into account impossible case
-- cleanup
Better variable names
Improve vars resolution
Comment
Improve code readability
Improve code readability
Add comments
Fix reverse turn
Fix prototypes turn for nesteds
Fix cross-nested turn