function and class types