We are currently developing to allow easy subscription to compiler phases and high level template DSL with the Kotlin model where you can expand and generate new declaration in string templates at all levels. It supports interception of the AST prior to type checking, synthetic resolution, IR generation DSL and soon IDEA integration where the IDE automatically understands all the code you have generated based on the AST tree diff from the original sources. This will serve to Arrow as a meta platform for building tooling and compiler plugins that enrichen the Kotlin type system with stronger guarantees in some use cases. It’s all opt in as a compiler plugin where you can turn features on and off via gradle or maven config