Really making use of BRX a lot lately and have some suggestions I would like to put out there (in addition to the others I have submitted).
Reusable Code Blocks (Function Blocks, Plugins, addon, etc.)Similar to Subroutines, except there would be an "instruction" on the Toolbox. The code would be reusable in multiple projects and any updates would be "automatic" (within limits obviously).
Examples already in include the SCALE, ALHILO, ALDEV, etc. Allow for a scriptable method developers can access to set the input variables:
-Checking for type (numeric/integer, boolean, string, etc.)
-Hooks for Top/Bottom, First/Last scan
-Hooks for Networking (MRX/MWX, RXWX, etc.)
-Optional/Required Variables
We have developed so many little functions that take multiple rungs and when these functions need accessing 20, 30, 100 times it makes tracking changes to a single rung of the "same code" troublesome. This would clean it up and allow for automatic updating of the core code changes.
When you have multiple programs for different controllers that use a shared code base, these changes require a manual process to implement changes vs. just recompile.
Obviously there are challenges (changing counts of input & output variables, types, etc.).
Expanding on that, some sort of "code-protection" for these functions as well. Primarily a software developer, gotta protect that IP

Could open a new "code store" opportunity within the software for further monetization (commission for resold functions). Just thinking out loud.
Keep up the good work, loving it so far.
Mike