I don't even see any reference to type b
Thats cos there isnt any ;) It how to prepare the ground.All its showing is that you need to keep the place you create the NEW instance seperate from the place you allocate its field values. Thatway you have a method you can call from any extended type.