peekandpoke
05/08/2023, 6:59 AMinline fun <T : Tag> T.visit(crossinline block: T.() -> Unit) = visitTag { block() }
could already improve compile-times for @Cies a lot. I guess the compiler backend has to somehow recursively expand all this inlining which breaks memory locality, forces memory copies over memory copies (but i frankly have no clue what is going on there, just guessing...)