I seem to have arrived at a correct answer;
more test cases;
it seems that the makeset was superfluous;
a really sloppy (read: wasteful) first stab at it;
a more correct (and less wasteful) way to do it;
more tests;