special case and rewriting for staticmethod, classmethod, instancemethod