I have one question regarding the Throwable, Error and Exception classes. I cannot understand why members like msg, file, line, info or next are not hidden behind read-only properties or functions. What was the reason behind making these fields public? As far as I know, once an exception is thrown, there is no interest in modifying contained members.