I would like to obtain multiple derived objects, but with each derived object using the input as the previous ones, without violating any DRY principles. In the example belo