While developing a traversal algorithm for a Parsing Expression Grammar (PEG)-generated Abstract Syntax Tree (AST), I encountered unexpected complexities stemming from JavaScript's quirks with object type-checking. Contrary to my initial assumptions,...