code: def getattr(self, name, context=None):
          
          if name in self.instance_attrs:
              return self.instance_attrs[name]
          if name in self.special_attributes:
              return [self.special_attributes.lookup(name)]
          raise exceptions.AttributeInferenceError(target=self, attribute=name)
docs: this method doesn't look in the instance_attrs dictionary since it's
          done by an Instance proxy at inference time.