Comment by WJW
`puts` is just a method of the Kernel module: https://ruby-doc.org/3.4.1/Kernel.html#method-i-puts, just like `p` and many others. Kernel is included in the Object class that is the root of the class hierarchy, so its methods are available in every ruby object.
Mixins are just modules, which are objects, which you can call methods on. (Or rather, send messages to) You can easily verify this in irb calling a method on (for example) the Enumerable module:
irb(main):001> Enumerable.class
=> Module
You are right that a module is not a class, and it is not possible to call `.new` on it. But the module itself is very much an object.