This function is a method function, defined in the core so multiple packages can add methods to it.
The object isSmooth is a method function with options.