add missing splat pattern
don't pass module to #matches?, #deconstruct, etc.

really shouldn't need it, just complicates things
initial method definition implementation