I'm not saying there's no instance in which a method that isn't bound to an object makes sense. If that were the case, the Kotlin team wouldn't have chosen to keep the idea around in the form of companion objects. But it's easy to get carried away and stuck with an inflexible situation if you make everything static