What is the basic contract of a Python function decorator?
It accepts a function, adds or changes behavior, and returns a callable replacement.
It can only execute the original function once and cannot return it.
It can accept only classes and must return an integer.
It permanently edits the original function's source file.