- Can we usethe node type to query relpacement locations, and then use a custom
  #is? predicate to check that it matches the idenifier that the derived
  relplacement atom refers to, like here:
  \[\[https://pulsar-edit.dev/blog/20231013-savetheclocktower-modern-tree-sitter-part-3.html#scope-tests\]\[link\]\]

- Can we programmatically generate the facts representation from the grammar
  somehow?

- Add code to handle dependencies in recursive format strings and joins.
