How does `extend self` differ from `module_function` for a method mixed into a class?module U extend self def helper; 99; end end class D; include U; end