Why is a `val` inside an `object` not automatically final?
This is addressed explicitly in the specification, and they are automatically final: Members of final classes or objects are implicitly also final, so the final modifier is generally redundant for them, too. Note, however, that constant value definitions (§4.1) do require an explicit final modifier, even if they are defined in a final class or … Read more