title: how to downcast a list of objects without using a function
body: <p>I got a list of Objects of class-type B (B inherits from A).
  How can I downcast all the B-objects to A-objects without using a function to pull the needed information and create a new instance?</p>
  
  <pre><code>(defclass A () ( (varI :initarg :varI :accessor varI) ) )
  
  (defclass B (A) ( (varII :initarg :varII :accessor varII) ) )
  
  (defun generate-list-of-type-B-objects () (....does...some..stuff....))
  
  (defvar *listoftypeA* (generate-list-of-type-B-objects) )
  </code></pre>
  
  <p>(I know this example is easy to rewrite, as I could make the method generate a list of type A objects, but the function is used somewhere else where type-B objects are needed, and I do not want to duplicate code)</p>