What practical difference does it make from a user's perspective to declare a member in the package object or on the package level?
The only difference I know about is that `package` does not allow declaration of functions and `package object` allows anything, but warns you not to declare classes in it. But why should the user be even bothered by such a distinction, and moreover what does a newcomer have to learn of such a concept as `package object` for, when it can be easily eliminated by simply enabling all its functionality on the package level?
The way I see it, `package object` is a supposed to be internal compiler-level abstraction that somehow crawled out into the actual language API. Therefore I want to open a debate on deprecating it and allowing declaration of any member in the `package { }` block or on the package level.