I think you could extend Object to define something working like this: comment "Doubles the number" params :n => "Number to be doubled" def double(n) n * 2 end Object could define 'comment' and 'params' and other metadata functions (or annotations, it's just symantics) to store those values and apply them to the next method defined. Maybe I'll try and whip it up tonight? .adam sanderson