//! Join hint AST for `USING JOIN` clauses.
//!
//! A hint pins the join shape for the MATCH patterns that precede it:
//! ```text
//! MATCH (a)-[e1]->(b), (a)-[e2]->(c) USING JOIN BINARY(e1, e2) RETURN ...
//! MATCH (a)-[e1]->(b), (a)-[e2]->(c), (b)-[e3]->(c)
//! USING JOIN MULTIWAY(e1, e2, e3) RETURN ...
//! ```
//! In `MULTIWAY` form the first variable is the probe side and the rest
//! are build sides. Hints name pattern variables; resolution against the
//! query graph happens in planning (`JoinHint::from_ast`), so an
//! unresolvable hint falls back to automatic planning instead of failing.
/// Parsed `USING JOIN` hint over pattern variables.