Yukihiro Matsumoto wrote:
> prints 1 and "bar", so that they need not to be protected by
> visibility.  They are, even if they are accepted, just for narrowing
> constants list.
>
> 							matz.

In light of that, might the solution here simply be sub-classing the
objects involved (such as File) instead of decorating the existing
classes?