May you can move the  `implode(...)` part to the parent class in some method like `typesToString`