@mattly @joelvanderwerf this is actually very much in line with patterns that are common in other end-user-reprogrammable systems: the extensibility system used by the end user needs to be the same as the mechanisms used by the core maintainers to build the system, because if you're doing it right then the needs of the two groups overlap a lot