```val Meta.typeClasses: Plugin get() = "typ...
# arrow-meta
a
Copy code
val Meta.typeClasses: Plugin
  get() =
    "typeClasses" {
      meta(
        1. enableIr(), // enable IR for later on
        2. func(
          match = { hasExtensionValueParameters() },
          map = { func ->
            // change the visual code using PSI matching
          }
        ),
        3. ideSyntheticBodyResolution(), // IDE related
        4. irFunctionAccess { mapValueParameterExtensions(it) } // change the code at bytecode level with IR model
      )
    }