docs: def applyAttributes(self, obj, attrs, codec=None):
          """
          Applies the collection of attributes C{attrs} to aliased object C{obj}.
          Called when decoding reading aliased objects from an AMF byte stream.
  
          Override this to provide fine grain control of application of
          attributes to C{obj}.
  
          @param codec: An optional argument that will contain the en/decoder
              instance calling this function.
          """
          if not self._compiled:
              self.compile()
  
          if self.shortcut_decode:
              if self.is_dict:
                  obj.update(attrs)
  
                  return
  
              if not self.sealed:
                  obj.__dict__.update(attrs)
  
                  return
  
          else:
              attrs = self.getDecodableAttributes(obj, attrs, codec=codec)
  
          util.set_attrs(obj, attrs)