class Object

def examine(binding = TOPLEVEL_BINDING)

def examine(binding = TOPLEVEL_BINDING)
  IRB.examine(binding)
end

def named(name, method, *args, &named_block)

def named(name, method, *args, &named_block)
  extend Module.new {
    define_method(name) do |*rest, &block|
      block = named_block if named_block
      __send__(method, *(args + rest), &block)
    end
  }
end