This is required because the function could be the first, second, or third argument.