Finished implementing generic template types.