Why not set option explict to take a few optioms?
Variables, shared, arrays...
Personally, I find it unsuitable in my code, just for the error it generates with SHARED in subs. The point of using SHARED in a SUB/FUNCTION (for me, at least), is so that an $INCLUDE library doesn’t need a *.BI file to declare internal variables that are only passed and used in the library routines, and as it currently exists, OPTION EXPLICIT prevents that.
If there’s going to be a toggle for arrays only, why not just make it a binary switch?
variables = 1
shared = 2
arrays = 4
OPTION EXPLICIT: VARIABLES, SHARED would check everything but arrays.
OPTION EXPLICIT: ARRAYS would only check arrays
OPTION EXPLICIT: VARIABLES, ARRAYS checks all but the SHARED
Expanded customization of the command, to suit the users exact desires.