>>>>> "D" == David A Black <dblack / wobblini.net> writes: D> I tend to feel that the [block, lambda, Proc, method] stuff is too D> complicated. I'm agree with you, just make it more complex to solve the complication :-) svg% cat b.rb #!/usr/bin/ruby require 'aa' class A < Proc def self.new(&block) proc(&block) end end a = A.new {|x, *y| p x,y } p a.class a.call([1, 2]) svg% svg% b.rb A [1, 2] [] svg% Guy Decoux