. . "They are used when you want to define a function that can handle many types arguments or can output many types of outputs." . .