Is defining a module function with `module_function` the same as defining it with `self.` in Ruby?
<p>Is defining a module function with <code>module_function</code> the same as defining it with <code>self.</code> in Ruby?  That is, do they both result in the creation of both instance and module methods?</p>