Just discovered Combobulate:

Combobulate takes the syntax tree created by tree-sitter and uses it to provide structured editing and movement. It can do it better than traditional, imperative or regexp-based approaches, because it has a perfect understanding of your code. That means there’s never any ambiguity as to whether { … } is a statement block or an object in Javascript, for example.

https://www.masteringemacs.org/article/combobulate-structured-movement-editing-treesitter

https://github.com/mickeynp/combobulate

c/o https://social.coop/@cpbotha@emacs.ch/109788552701305561

Im looking forward to Emacs 29 maturing so that I can utilise this functionality.