# File lib/facet/proc/to_method.rb, line 11
  def to_method(name=nil)
    name ||= "!to_method_temp#{self.id}"
    recv = eval("self", self)
    klass = recv.class
    
    MethodMutexes[klass => name].synchronize do
      begin
        klass.send(:define_method, name, &self)
        return recv.method(name)
      ensure
        klass.send(:remove_method, name) if not name
      end
    end
  end