What's the difference between Module.freeze and Object.freeze? They seem to have the same effect. irb(main):005:0> C:\dd\vsl_dynamic_2\src\Merlin\Main\Hosts\SilverLight>irb irb(main):001:0> Module.send :remove_method, :freeze => Module irb(main):002:0> m = Module.new => #<Module:0x3a077a8> irb(main):003:0> m.freeze => #<Module:0x3a077a8> irb(main):004:0> m.class_eval { def foo; nil; end } TypeError: can't modify frozen module from (irb):4 from (irb):4:in `class_eval' from (irb):4 from :0 irb(main):005:0> -- Curt Hagenlocher curth / microsoft.com