Underscore or not?

Just curious about this…but why do some Flash properties in AS1/2 require an underscore when similar properties don’t? For example, MovieClip.enabled is a boolean property that doesn’t have an underscore. Yet MovieClip._visible is a similar boolean property that does require an underscore. Both properties are public so that can’t be the reason.

And what about Stage.width and MovieClip._width?

Or how about Video which has both .width ._width properties??

I guess it’s just one of those arcane historical things that makes Actionscript such a forgiving joy to work with … and a real pain to debug at times.