This is basically what we already have in Haskell. Debug functions that sidestep the typing system can be annotated with a warning and you can make this one an error while compiling for production.
And in a more general sense, you can ask the compiler to forbid escape hatches altogether.
We already have a pragmatic, reliable solution.