And the most annoying part is the dollar signs used in jextract.
To access a field in a structure, you have to use `llama_grammar_element.type$get(obj)`. And the dollar sign is a keyword in Kotlin. You can't use it in function names, unless you quote it with "`", like "llama_context_params.`seed$get`(contextParams)". And to make things worse, IDEA's auto completion is broken when involving this "`" sign.