It really feels like how a programmer without any oversight would design it.
"If everything is actually *the same thing*, then it'll be super generic and simple and reusable and you can compose everything with it"
"If everything is actually *the same thing*, then it'll be super generic and simple and reusable and you can compose everything with it"
Comments
So separating them would probably be a big improvement