Add unpack! macro. +test.
put the tests in their own file.