* Currently broken (sorry) but do have to push to fix some nasty
transitive dependency stuff (do not ask).
* Fix fix it tomorrow (hopefully I find the time)
* Expand attr_reader :name, to def name; @name; end
As attr_reader defined methods do not have a valid source location.
* Expose more internal state to allow the generation of nice match
identifications. Needs to be cleaned up.