Split off type checking for overloaded functions