Is there any way around this problem:

class Foo
  define_method(:bar) {puts block_given?}
end

Foo.new.bar 			#=> false, good
Foo.new.bar {puts "hello"}	#=> still false...

And, of course,

define_method(:bar) {|args, &block| ... }

is a syntax error.