Go back to the original way of implementing type functions, with a single
argument.  It's much cleaner and simpler.