Didn't actually add the README in the last commit.
Default the final function in register to identity.

And therefore default the name to the step functions name.

README and tests have also been updated.
Test more complex types.
Use unsafe store instead of copy.

No performance change but reduces bytes allocated by ~5%.