Eliminated the phantom type.  It was not only not a phantom type, but it was unneeded.  New implementation is much simpler and just as type-safe.  Expanded example program.