Use the method's own reference to participants
This hack is 'incredibly common' and doesn't need to be documented.
Create addMethod methods right on the genfun objects
Moved tests into a Genfun function and added a default test method
Use only the ownproperty __roles__ and define it as a non-enumerable property
Support for calling on primitives
Unshifting is a nice temporary compromise until overwriting is defined
Updated TODOs
Another test to make sure the fallthrough case is hit
Updated README