use explain and recovery flags
added separate tools module
convert to using cool_tools
add variants for error
resolve conflicts: prefer to shift more expr before reducing let, prefer to shit more expr before reducing not
posexpr start symbol
error in the middle of a class. note, this commit lowers the
grade to 38 from 59