Hidden inputs (specified on the proc, not the instance)

I’ve taken to naming proc inputs with an underscore prefix to make sure I never attach anything externally to that input, as they are used entirely internally for recursion.

eg. _i for an iterator that would definitely break things if connected or even set to something other than an internally defined default.

This mostly works for me, but I wonder about the benefits of something like a checkbox on proc inputs along with the other ‘Options’, that would hide that input externally for safety reasons.

Yes, I know what you mean, I have done exactly that at times. Current favourite is a single character or lowercase name for the input.
I have some input hiding work going on in another branch that could include this feature, and I expect you’d want it to just be setting the default show/hide state to hide for those inputs and allow it to be shown as needed otherwise you wouldn’t be able to see it on the recursing instance of the procedure!