Mutant specs

ran mutant through the code.

Added tests +122/-21
minor tweaks to the code +10/-18

only 1 remaining issue regarding `:in` parameter. will put into separate PR

/cc @jrafanie
Is this the opposite change as what was as 1771a6ce4f4355b11fab75a076636111c45667fa?