title: How to convert method or lambda to non-lambda proc
body: <p>As shown in the ruby example below, I can't call a <code>lambda</code> with wrong number of arguments as <code>Proc</code> created from a <code>Method</code> because it is strict about the number of arguments:</p>
  
  <pre><code># method with no args
  def a; end
  
  instance_eval(&amp;method(:a))
  # ArgumentError: wrong number of arguments (1 for 0)
  
  method(:a).to_proc.call(1, 2, 3)
  # ArgumentError: wrong number of arguments (3 for 0)
  
  method(:a).to_proc.lambda?
  # =&gt; true
  </code></pre>
  
  <p>How do I get a <code>Proc</code> that is not a lambda from either a <code>Proc</code> that is or from a <code>Method</code>?</p>