I'd like to retrieve a list of methods with their arguments/defaults and their return types through automated means.  Is this possible and, if so, how can I do it?

This isn't just for curiosity's sake; I plan on trying to use this in a [Stack Exchange mode for Emacs](http://stackapps.com/q/3950/11299).