switching TypeFunc to use GtFunc