title: Extending frozen dataclass and take all data from base class instance
body: <p>Suppose we have a class coming from a library,</p>
  
  <pre><code>@dataclass(frozen=True)
  class Dog:
      name: str
      blabla : int
      # lot of parameters
      # ...
      whatever: InitVar[Sequence[str]]
  </code></pre>
  
  <p>I have a dog constructor coming from an external library.</p>
  
  <pre><code>pluto = dog_factory() # returns a Dog object
  </code></pre>
  
  <p>I would like this dog to have a new member, let's say '<code>bite</code>'.
  Obviously <code>pluto['bite'] = True</code> will fail, since dataclass is frozen.</p>
  
  <p>So my idea is to make a subclass from Dog and get all the data from the 'pluto' instance.</p>
  
  <pre><code>class AngryDog(Dog):
      # what will come here ?
  </code></pre>
  
  <p>Is there a way to avoid manually put all the class Dog parameters in <strong>init</strong> ?
  Something like a copy constructor.</p>
  
  <p>ideally:</p>
  
  <pre><code>class AngryDog(Dog):
      def __init__(self, dog, bite = True):
          copy_construct(dog)
  </code></pre>