Working on a DSL I have been gradually reusing a keyword (I'll call it a keyword for practical reasons, it isn't actually) to denote non idiomatic constructs like awaiting inside of a semantic locks, hard coding an API key as a string literal, assigning a value roman integer that the compiler can't see will always fit, etc, etc.
This keyword "hazardous" is basically an escape hatch for the purity of the least authority and overall robustness of the base language, but a help, I hope, in hacking together prototype code.
By default the code wont be accepted by the compiler or scripting runtime because basically the semantic lexer errors out on the keyword unless a compiler flag is used.
And by default, the compiler flag isn't transitive to modules, you need to explicitly enable modules (merge) transitivity.
For example:
compiler /my/app/dir --trustmebro=literal
would allow an API key as string literal in the main program but not in any modules.
compiler /my/app/dir --trustmebro=ALL
would allow all possible uses of "hazardous" in the main program and still none in the modules.
compiler /my/app/dit --trustmebro=blocker --trustmebro=cast,merge
would allow the main program to use "hazardous" for blockers inside of semantic locks, for questionable casts and for marking hazardous as transitive to specific module includes (merge), while allowing unprovable safe integer casts to be used by these module functions.
The idea is that the programmer will look at the --trustmebro in their makefile and the "hazardous" in their source file and think: yes, I need to fix this later, but still feel free to sprinkle then in while prototyping to get things done and maintain velocity.
I'm both interested and a bit nervous about the view of others regarding this idea of this "you shouldn't want to do this, but we'll let you, just remind yourself to fix it" philosophy.
Is this a practical language feature? Extra "get things working now, get them robust later"? Or is this a collection of things that shouldn't be in a least authority languages in the first place, and should the least authority pain of "there is only the safe and robust way to do things" be an immutable reality?
I had the hunch that a language feature like this could be an adoption enabler, but maybe I'm just setting things up so that everyone is just going to write --trustmebro=merge,ALL and never ever think about it again.