Revert "Switch over to passing the 'new' function around rather than the ugly Phantom datatype."

This reverts commit 96fcd74fa5cfb51740cebb027b44aa6b36140af3.
Add one test to generic suite.