The way we have defined decorators so far hasn't taken into account that the attributes
of the original functions will be lost after the decoration.