Qual é o contrato básico de um decorator de função em Python?
Ele aceita apenas classes e deve retornar um inteiro.
Ele aceita uma função, adiciona ou altera seu comportamento e retorna uma substituta chamável.
Ele só pode executar a função original uma vez e não pode retorná-la.
Ele edita permanentemente o arquivo de código-fonte da função original.