I made some breakthrough to implement private by default for values from the technical point of view, and yes, it is efficient.
For example you can write this in theory in ReScript:
let x = 3 let hello = 3 pub let y = 2 // only this `y` will be exported
So there are several things to discuss:
How to turn it on, introducing a flag, shall we move to private by default eventually?
What’s the concrete syntax?
cc @cristianoc who want this for a long time