Use signature.bind to remove a lot of arg parsing nonsense
Add test to make sure equivalencies propagate to the function.
Comments and doc tweaks